DrMaFu: HTTP-Authentifizierungs

Beitrag lesen

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