HTTP-Authentifizierungs
DrMaFu
- https
0 MudGuard
0 ChrisB
0 Felix Riesterer
Hallo zusammen, guten Abend,
ich brüte seit Stunden über folgendem Problem....
Ich habe ein PHP Skript für ein Gästebuch im Einsatz welches für den Administrator-Login die klassischen HTTP-Authentifizierungs-Mechanismen verwendet wie sie auch in PHP-Manual http://php.net/manual/de/features.http-auth.php berschrieben sind.
Nämlich z.B.:
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'Text, der gesendet wird, falls der Benutzer auf Abbrechen drückt';
exit;
} else {
echo "<p>Hallo {$_SERVER['PHP_AUTH_USER']}.</p>";
echo "<p>Sie gaben {$_SERVER['PHP_AUTH_PW']} als Passwort ein.</p>";
}
?>
Die header()-Funktion wird dazu genutzt, um die Nachricht "Authentifizierung erforderlich" an den Client-Browser zu senden, damit dieser ein Fenster zur Eingabe von Benutzername/Passwort öffnet. Hat der Benutzer diese eingegeben, wird die URL des PHP-Scripts mit den vordefinierten Variablen PHP_AUTH_USER, PHP_AUTH_PW und AUTH_TYPE, die den Benutzernamen, das Passwort und den Typ der Authentifizierung enthalten, erneut aufgerufen. Diese vordefinierten Variablen befinden sich in den Arrays $_SERVER und $HTTP_SERVER_VARS.
Nun habe ich das Problem, dass das ganze bei mir lokal in einer XAMPP-Installation problemlos funktioniert, nicht aber auf dem Produktivsystem, also auf dem T-Online-Server wo ich meine Homepage liegen habe-
Die Eingabemaske für User und Pass erscheint zwar, ich kann auch Daten eingeben und die Eingabe mit Return abschließen, es scheint aber so, als wenn der T-Online-Server nicht wie erwartet die vordefinierten Variablen zur Abfrage befüllt. Das Eregbnis ist eine endlose Eingabe des User+Pass bzw. im Falle meines Gästebuchs nach dreimaliger falsche Eingabe eine Abbruchmeldung.
Warum funktiniert es auf XAMPP aber nicht auf T-Online?
Was mache ich falsch?
Sind irgendwelche Funktionen die ich benötigt nicht freigeschaltet, wenn NEIN welche bzw. wie kann ich sie aktivieren? Kennt jemand das Problem?
Die Schalter für cgi.rfc2616_headers in meiner PHP installation auf dem T-Online-Server sind 0.
Die verwendete PHP Version ist 5.2.16.
Vielen Dank für Eure Hilfe im Voraus,
Markus
Hi,
Ich habe ein PHP Skript für ein Gästebuch im Einsatz welches für den Administrator-Login die klassischen HTTP-Authentifizierungs-Mechanismen verwendet wie sie auch in PHP-Manual http://php.net/manual/de/features.http-auth.php berschrieben sind.
irgendwie ist mir da was im Hinterkopf, daß das nur funktioniert, wenn PHP als Modul im Apache läuft, aber nicht, wenn PHP über CGI verwendet wird. Finde aber momentan keinen Beleg dafür.
Nun habe ich das Problem, dass das ganze bei mir lokal in einer XAMPP-Installation problemlos funktioniert, nicht aber auf dem Produktivsystem, also auf dem T-Online-Server wo ich meine Homepage liegen habe-
Wie wird dort PHP jeweils aufgerufen? Modul oder CGI?
cu,
Andreas
Hi,
Ich habe ein PHP Skript für ein Gästebuch im Einsatz welches für den Administrator-Login die klassischen HTTP-Authentifizierungs-Mechanismen verwendet wie sie auch in PHP-Manual http://php.net/manual/de/features.http-auth.php berschrieben sind.
irgendwie ist mir da was im Hinterkopf, daß das nur funktioniert, wenn PHP als Modul im Apache läuft, aber nicht, wenn PHP über CGI verwendet wird.
Die Nutzerkommentare auf der genannten Seite bieten einige mögliche Workarounds für dieses Szenario an.
MfG ChrisB
Lieber DrMaFu,
Ich habe ein PHP Skript für ein Gästebuch im Einsatz welches für den Administrator-Login die klassischen HTTP-Authentifizierungs-Mechanismen verwendet
findest Du das gut? Mein GB-Script hat das nicht nötig...
Liebe Grüße,
Felix Riesterer.