PHP_AUTH_USER nicht gesetzt?

Lesezeit: 3 Minuten

PHP AUTH USER nicht gesetzt
Neuling_25

Aus irgendeinem Grund ist keiner der Codes darin enthalten

if (isset($_SERVER['PHP_AUTH_USER']) &&
    isset($_SERVER['PHP_AUTH_PW']))
{

// When the above is set, the code that is here will execute of course

}

wird für mich hingerichtet. Wenn ich den richtigen Benutzernamen und das richtige Passwort eingebe, erscheint erneut die Eingabeaufforderung für die Autorisierung. Wären nicht beide Felder “gesetzt”, wenn sie korrekt sind und ich die Eingabetaste drücke? Aber aus irgendeinem Grund ist das nicht der Fall. Was kann ich falsch machen? Danke.

Es gibt einen ‘sinnvollen Weg’, HTTP Basic Auth im CGI-Modus von PHP zu verwenden: in der .htaccess-Verwendung

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

und im PHP-Einsatz

list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = 
  explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));

  • Aus irgendeinem Grund musste ich auf meinem Server $_SERVER verwenden[‘REDIRECT_HTTP_AUTHORIZATION’]

    – ChrisV

    17. Oktober 2011 um 11:40 Uhr

  • Dies funktionierte bei mir nur mit der RewriteRule-Zeile in .htacess. Ich musste keine Änderungen an PHP vornehmen, und $_SERVER['PHP_AUTH_USER'] und $_SERVER['PHP_AUTH_PW'] sind jetzt eingestellt.

    – Zittern

    10. September 2013 um 22:32 Uhr

  • github.com/symfony/symfony/blob/master/src/Symfony/Component/…

    – fünfundachtzig

    16. Mai 2014 um 12:12 Uhr

  • Kann jemand die RewriteRule in dieser Antwort erklären? Bei mir hat es funktioniert, aber ich verstehe es eigentlich nicht. 🙂

    – Jan

    5. Januar 2015 um 14:54 Uhr

  • versuchen Sie zuerst zu überprüfen, ob die $_SERVER['REDIRECT_HTTP_AUTHORIZATION'] festgelegt und nicht leer ist, können Sie verwenden list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));weil einige Server dasselbe in meinem Fall haben REDIRECT_HTTP_AUTHORIZATION Index und nicht HTTP_AUTHORIZATION Stellen Sie also besser eine vollständige Bedingung für beide Offsets ein.

    – Jeffery ThaGintoki

    3. Dezember 2016 um 17:28 Uhr

Versuche dies

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
</IfModule>

in Ihrer .htaccess-Datei, die Sie im Stammverzeichnis ablegen müssen

und dann

list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':' , base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));

am Anfang Ihrer PHP-Skripte

  • @garyJ, es ist die Länge von “basic”

    – Chris Cogdon

    22. August 2018 um 1:32 Uhr

  • können Sie mir erklären, warum diese Zeile in .htaccess benötigt wird? Es hat für mich funktioniert

    – Mateus Gonçalves

    31. August 2020 um 17:33 Uhr

1645779247 341 PHP AUTH USER nicht gesetzt
derPanz

Ich verwende Symfony 2.5.7 auf PHP-PFM + Apache 2.4 auf Ubuntu 14.04. Bei mir funktioniert BASIC_AUTH, es muss den Apache VirtualHost korrekt konfigurieren, indem es Folgendes hinzufügt:

SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

wie auch hier erwähnt.

  • auch hier: PHP läuft im PHP-FPM-Modus, Apache 2.4, centOS. Ich musste diese Zeile nur zu meiner vhost-Konfiguration hinzufügen und es funktionierte perfekt, ohne Änderungen auf der PHP-Seite

    – diogo.abdalla

    15. Februar 2018 um 23:06 Uhr

Ab Apache 2.4.13 müssen Sie nur noch verwenden CGIPassAuth Direktive in Ihrer .htaccess:

CGIPassAuth On

PHP AUTH USER nicht gesetzt
Jerkezhan

Entsprechend phpinfo()meine Server-API ist CGI/Fast CGI, also habe ich das Problem gelöst, indem ich Folgendes in meine eingefügt habe .htaccess Datei:

RewriteEngine on
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]

1645779248 845 PHP AUTH USER nicht gesetzt
MrAnonym

Versuchen $_SERVER['REMOTE_USER']. Dies funktioniert bei mir auf einer PHP 5.3 CGI + Apache-Installation.

PHP AUTH USER nicht gesetzt
childno͡.de

Wenn Benutzerzugriff gewährt wird, indem Benutzername/Passwort in der URL angegeben werden, überprüfen Sie dies bitte

AuthType Digest

in Ihrer VHost/Directory/.htaccess-Konfiguration berechtigt ist.

Dies hat es für meinen Anwendungsfall behoben.

851530cookie-checkPHP_AUTH_USER nicht gesetzt?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy