PHP Login -> PHP_AUTH_USER nicht übergeben?

Gast #4390693
Lesenswert?

Hallo,

ich will einige Seiten mit PW schützen. Dazu wollte ich folgenden Code 
nutzen
Code:
1
<?php
2
if (!isset($_SERVER['PHP_AUTH_USER'])) {
3
    header('WWW-Authenticate: Basic realm="My Realm"');
4
    header('HTTP/1.0 401 Unauthorized');
5
    echo 'Text, der gesendet wird, falls der Benutzer auf Abbrechen drückt';
6
    exit;
7
} else {
8
    echo "<p>Hallo {$_SERVER['PHP_AUTH_USER']}.</p>";
9
    echo "<p>Sie gaben {$_SERVER['PHP_AUTH_PW']} als Passwort ein.</p>";
10
}
11

12
// Quelle: http://php.net/manual/de/features.http-auth.php
13
?>

Nach Eingabe von Name/PW springt die Funktion immer wieder auf die 
Eingabemaske, sprich es scheint $_SERVER['PHP_AUTH_USER'] wird nicht 
übergeben. Im Netz habe ich gelesen, das könnte an PHP Einstellungen 
(php.ini?) liegen.
Könnt Ihr mir weiterhelfen, damit dieser einfache Code läuft?!

Danke und Gruß
Tobi
Gast #4390969
Lesenswert?

Schau nach, ob
$_SERVER['REMOTE_USER']
gesetzt ist.

Wenn es eine Option ist: Lass den Passwort-Check vom Apache machen, da 
kannst du weniger Fehler unterbringen als in einem selbstgemachten 
PHP-Script.
Gast #4391147
Lesenswert?

Planlos schrieb:
> Schau nach, ob
> $_SERVER['REMOTE_USER']
> gesetzt ist.

wo soll ich das finden bzw setzen - meinst Du bei den übergebenen 
Parametern?
Ich lass mir alle Parameter via
1
foreach($_SERVER as $key_name => $key_value) 
2
{
3
    print $key_name . " = " . $key_value . "<br>";
4
}

anzeigen, ein REMOTE_USER ist nicht darunter...
Gast #4391199
Lesenswert?

Peter II schrieb:
> rufe einfach mal php_info auf, dann sieht auch auch noch andere
> Parameter.

so, Aufruf erfolgte
1
echo phpinfo();

auch hier ist kein REMOTE_USER zu finden.

Ergänzend möchte ich noch anmerken, dass ich den Code sowohl beim 
Webhoster (www.7square.ch) als auch auf dem lokalen NAS-Webserver 
getestet habe.
Der gleiche Code funktioniert auf meinem NAS-Server, nicht aber beim 
Webhoster. Dies bringt mich wieder zurück auf die ursprüngliche Frage: 
ich muss doch sicher irgend etwas in der php.ini o.ä. setzten um die 
Funktion zu aktivieren?!
Nebenbei bemerkt: wo wäre die php.ini zu finden?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren