HTTP Authentifizierung mit PHP

pesoi

Mitglied
Hello Jungs und Mädels

Hier mal eine kleine Frage!

Angenommen das Verzeichnis „/foobar/“ solle eine PHP-Autentifizierung durchlaufen, könnten jegliche Anfragen eines Verzeichnisses auf das verarbeitende Skript umgeschrieben werden, beispielsweise mit folgenden Direktiven

eingaben in http.conf

RewriteEngine on
RewriteRule ^foobar/(.*)$ <...pruefen.php>?requestedPath=$1 [L]


in prüfen.php wird das login überprüeft. Bei positive Login wird dann auf das Verzeichnis "foobar" weitergeleitet, bei negative Login auf Login-Seite.

Soweit so gut.Die Umleitung auf das Verzeichnis "foobar" läuft, aber es wird wieder auf das pruefen.php umgeleitet, also es läuft in Kreis.

Mache ich irgendwo eine denkfehle?
Wie kann ich auf eine Datei aus dem "foobar" nach erfolgreichen Login zugreifen?
 
Hat keine eine Idee?

Ich habe ja hier auch mall eine Idee,nur weis ich nicht ob so was klapt,also zumindest habe ich das bis jetzt noch nicht geschaft.

Ich habe eine PHP authentifizierung,durch eine php-script. jetzt will ich durch Apache eine Verzeichnis für nicht angemeldete speren.Meine PHP läuft als Modul. Beim Authetifizierung mit Apache (Base) werden die Wariablen $_SERVER['PHP_AUTH_USER'] usw. gesetzt. Kann ich das direkt nach dem anmeldung in php-Script die Variable $_SERVER['PHP_AUTH_USER'] auch füllen mit dem Benutzername.
Wie kann ich dann die Apache dazubriengen das er die Variablen sich anschaut und dann wenn die richtig sind dann die Loginfenster nicht mehr anzeigen,sondern die zugrief in das Verzeichnis erlaubt?

Also das ist dann meine Idee. kann mir Jemand was zu dem Thema sagen?
 
RewriteEngine on
RewriteRule ^foobar/(.*)$ <...pruefen.php>?requestedPath=$1 [L]

Alles was nach "foobar" zeigt wird auf "pruefen.php" weitergeleitet.

Die Umleitung auf das Verzeichnis "foobar" läuft, aber es wird wieder auf das pruefen.php umgeleitet, also es läuft in Kreis.

Demnach, wenn du irgendetwas auf "foobar" weiterleitest geht es wieder auf "pruefen.php", was ja laut deiner RewriteRule so gewünscht ist.
 
Ok KICK. Das ist mir ja klar,nur ich wolte das man nach pruefen.php die zugrief auf foobar nicht mehr umgeleitet wird.

Hi, Dennis Wronka

Ich guk mir das an,Danke.

danke
 
Wie kann ich dann die Apache dazubriengen das er die Variablen sich anschaut und dann wenn die richtig sind dann die Loginfenster nicht mehr anzeigen,sondern die zugrief in das Verzeichnis erlaubt?

Garnicht, denn diese Variablen sind für den Apache nicht greifbar.
Folgende Variablen kennt der Apache:
Code:
HTTP headers: 
HTTP_USER_AGENT
HTTP_REFERER
HTTP_COOKIE
HTTP_FORWARDED
HTTP_HOST
HTTP_PROXY_CONNECTION
HTTP_ACCEPT
connection & request:  
 REMOTE_ADDR
REMOTE_HOST
REMOTE_USER
REMOTE_IDENT
REQUEST_METHOD
SCRIPT_FILENAME
PATH_INFO
QUERY_STRING
AUTH_TYPE
  
server internals: 
DOCUMENT_ROOT
SERVER_ADMIN
SERVER_NAME
SERVER_ADDR
SERVER_PORT
SERVER_PROTOCOL
SERVER_SOFTWARE
system stuff: 
 TIME_YEAR
TIME_MON
TIME_DAY
TIME_HOUR
TIME_MIN
TIME_SEC
TIME_WDAY
TIME
specials: 
 API_VERSION
THE_REQUEST
REQUEST_URI
REQUEST_FILENAME
IS_SUBREQ
 
Hi, Sven Mintel

Das habe ich mir auch gedacht,nur wollte es nicht glauben.Also gibtes da die möglichkeit dann nicht! Ok dann muss ich meine Verzeichnisse dann irgendwie anders sperren.

Dennis Wronka

Ich habe mir dein Script angeshaut.Ist das aber nicht was ich gemeint habe.Vieleicht habe ich das nicht so richtig beschrieben. In meine Script wird mit eine HTML Formular angemeldet,dann alles mit eine PHP Script überprüft usw. Aber da habe ich meine Antwort von Sven Mintel.

Danke
 
Was genau passiert denn in der „pruefen.php“? Und ist eine Weiterleitung unbedingt nötig? Kann das Skript die Inhalte nicht selbst ausliefern?
 
Hi,Gumbo

In Datei pruefen.php Wird nur die Benutzer überprüft ob er angemeldet ist,wenn ja dann solte er die zugrief aud das Verzeichnis foobar erhalten wenn nicht dann wird er nach anmelde Seite umgeleitet. Eine umleitung nach prüfen.php brauche ich um eine nicht berechtigte Zugrie auf das Verzeichnis foobar zu sperren.

Vieleich gibt es ja auch eine andere Möglichkeit?
 
Zurück