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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.