Problem mit HTTP-Authentification
predAtor
- php
0 Andreas Korthaus0 predAtor0 predAtor
0 Andreas Korthaus0 predAtor
Hiho, ich hoffe ihr könnt mir bei meinem Problem helfen ;)
Ich hab PHP 4.3.3 als Apache-Modul installiert und trotzdem will folgendes Script nicht laufen: auch wenn Benutzer und Passwort eingegeben wurden, erscheint nicht die Ausgabe, sondern das Authentifizierungsfenster bleibt einfach da!
<?php
if(!isset($PHP_AUTH_USER)) {
Header("WWW-Authenticate: Basic realm="My Realm"");
Header("HTTP/1.0 401 Unauthorized");
echo "Text to send if user hits Cancel button\n";
exit;
} else {
echo "Hello $PHP_AUTH_USER.<P>";
echo "You entered $PHP_AUTH_PW as your password.<P>";
}
?>
Danke für eure Hilfe schonmal im voraus...
predAtor
Hi!
<?php
if(!isset($PHP_AUTH_USER)) {
Header("WWW-Authenticate: Basic realm="My Realm"");
Header("HTTP/1.0 401 Unauthorized");
echo "Text to send if user hits Cancel button\n";
exit;
} else {
echo "Hello $PHP_AUTH_USER.<P>";
echo "You entered $PHP_AUTH_PW as your password.<P>";
}?>
Das Problem ist dass Du Variablen verwendest, die vermutlich gar nicht existieren. In PHP 4.3.3 sollte der Zugriff auf System-Variablen über den Array $_SYSTEM erfolgen.
Näheres findest Du unter
http://de3.php.net/manual/en/language.variables.predefined.php, und
http://www.dclp-faq.de/q/q-formular-register-globals.html
Verwende einfach das aktuellere Beispiel der englischen Version des Manuals: http://de3.php.net/manual/en/features.http-auth.php
Grüße
Andreas
PS: Es empfielt sich oft bei Problemen einen Blick in die englische Version des Manuals zu werfen, denn die ist oft aktueller.
Ok ich werd deine Tipps später mal ausprobieren...
predAtor
Sorry nochmal ne kurze Frage: die User und Passwortvariablen sind doch nur auf einer Seite gültig, oder?
Hallo,
Sorry nochmal ne kurze Frage: die User und Passwortvariablen sind doch nur auf einer Seite gültig, oder?
Nein,
da HTTP bei jedem Request eine neue Verbindung aufbaut, müssen auch jedes MAl die Userdaren mitgesendet werden, wenn der Client im geschützten Verzeichnis bleibt. Davon bekommt der User jedoch nichts mit. Die Variablen sind aber auf allen geschützten Seiten "vorhanden".
Gruß Henk
Hi!
Das Problem ist dass Du Variablen verwendest, die vermutlich gar nicht existieren. In PHP 4.3.3 sollte der Zugriff auf System-Variablen über den Array $_SYSTEM erfolgen.
Entschulding, ich meinte natürlich $_SERVER und nicht $_SYSTEM ;-)
selbiges gilt im übrigen für GET und POST Variablen(z.B. bei HTML-Formularen), mehr erfährst Du in den Links.
Grüße
Andreas
Entschulding, ich meinte natürlich $_SERVER und nicht $_SYSTEM ;-)
hab mich auch schon gewundert (häh? $_SYSTEM?) ;)