# PHP und .htaccess



## gankli (3. November 2003)

Hallo,

ich habe ein ganz normales Anmeldescript in PHP welches eine Seite schützt. Das Verzeichnis wo diese Seite drin liegt ist von mir aber mit einer .htaccess Datei geschützt um die Seite nicht durch pfadangaben im Adressbereich zu lokalisieren. So, ich melde mich per php an, das loggin funktioniert und direkt danach ohne das ich auf die passwortgeschützte Seite komme, geht eine Anmeldemaske (.htaccess Verzeichnisschutz) vom Webserver (1und1) auf wo ich mich nocheinmal anmeleden muss.

Wie bekomme ich es hin, das wenn ich mich mit dem PHP Passwortschutz eingeloggt habe, das die Anmeldedaten im Hintergrund automatisch in dieses .htaccess Fenster übernommen werden und ich die Passworteingabe nur einmal machen muss.

Der Username und das Passwort müssen automatisch im Hintergund in das .htaccess Fenster eingetragen werden. Wie?

Habe relativ wenig Ahnung von PHP.

Kann mir jemand helfen. Danke


----------



## Christian Fein (3. November 2003)

Da wirst du fündig:
http://de2.php.net/features.http-auth


----------



## gankli (3. November 2003)

*Werd nicht Schlau*

Hallo,

auf dieser Seite war ich auch schon leider werde ich daraus nicht schlau. Welche Datei muss ich ändern um das zu umgehen, die php oder die .htaccess Datei?

Danke


----------



## Interrogans (13. September 2007)

Ok. Das Thema ist zwar alt, alt, aber vielleicht hilft ne Kurze Antwort doch irgendjemand wieter.

Also zunächst mal, so wie ich das verstanden hab, is das fast vollkommen sinnlos; schließlich schützt du einerseits Daten mit HTACCESS und andererseits mit PHP. Du brauchst aber (wenn Du nichts mit ner DB oder sonst was spezielles machst) nur eins davon!

Wenn der User eingeloggt ist (was ja wohl funktioniert) könnte er einfach auf eine PHP-Seite weitergeleitet werden, auf der etwa folgender Code steht (ungefähr):


```
<?php
session_start();
if (!isset($_SESSION['user']) || !isset($_SESSION['userip']) || $_SESSION['userip'] != $REMOTE_ADDR) // Bin mir bei $REMOTE_ADDR grad net sicher
{
 die("Sie sind unberechtigt, die Inhalte anzusehen.");
}
?>

<!-- Hier nun die geschützten Inhalte -->
```

Ansonsten such doch einfach mal hier bei Tutorials.de nach Loginscript; da wird man auch fündig 

Übrigens: Klar, wenn PHP am Server ausfällt, sieht man die Inhalte uneingeschränkt. Das kannst du verhindern, indem du tatsächlich ein HTACCESS-Geschütztes Verzeichnis erstellst, in dem aber niemand etwas lesen darf. So hat nur der Server auf diese Daten zugriff. In der entsprechenden Datei, die von der Loginseite aufgerufen wird, includierst Du einfach, wenn der Benutzer berechtigt ist, die geschützten Inhalte und sie werden ohne weiteres angezeigt 

Also: Warum einfach, wenns auch kompliziert geht  

Gruß


----------



## Flex (13. September 2007)

Mittlerweile heißt es:


```
$_SERVER['REMOTE_ADDR']
```

Weiterhin finde ich den HTTP Auth Login in Verbindung mit PHP gar nicht so schlecht.
Und warum sollte man nur eins brauchen?

HTTP Authentifierung mit PHP

Gibt sogar 'nen eigenen Bereich in der Dokumentation darüber.


----------



## hans jörg (1. Mai 2008)

Hi,
is zwar schon ein altes Thema, ich möchte dazu trotzdem für die jenigen bei denen php in der CGI Version läuft folgenden Link als Ergänzung hinterlassen: http://www.besthostratings.com/articles/http-auth-php-cgi.html


----------



## matze93 (1. Mai 2008)

also mir hilft das ja nihts und ich glaube den anderen usern auch nicht mehr, aber egal


----------



## hans jörg (2. Mai 2008)

Es geht darum, dass unter Felix Jacobis Link http://de3.php.net/manual/de/features.http-auth.php steht, dass HTTP Auth Login in Verbindung mit PHP nur möglich ist, wenn PHP als Modul läuft, der von mir gepostete Link verweißt auf eine Seite auf der ein Workaround zu finden ist, der dies auch ermöglicht wenn php in der CGI Version läuft.

Nachdem ich genmäß den Forumregeln zuerst die Suche betätige (wie "die anderen" auch) bevor ich ein Problem poste, wollte ich die hier gebotene Lösung vervollständigen.

aber egal


----------

