Wenn ein öffentlich zugängliches Verzeichnis eine einfache HTTP-Authentifizierung erfordert, wird normalerweise der Wert $_SERVER['HTTP_AUTHORIZATION']
und/oder $_SERVER['REMOTE_USER']
(oder $_SERVER['PHP_AUTH_USER']
usw.) festgelegt und zugänglich für PHP, sobald eine gültige Benutzername/Passwort-Kombination dem Server zur Verfügung gestellt wurde.
Zum Beispiel, wenn http://www.example.com/members
grundlegende Authentifizierung erfordert, und ein Benutzer erfolgreich authentifiziert die Anmeldeinformationen mit myusername
und mypassword
durch manuelle http://myusername:[email protected]/members
in ihren Browser eingeben, würde der Wert von $_SERVER['HTTP_AUTHORIZATION']
so etwas wie:
Basic bXl1c2VybmFtZTpteXBhc3N3b3Jk
.. . und der Wert von $_SERVER['REMOTE_USER']
würde einfach sein:
myusername
jedoch, wenn die Authentifizierung in der gleichen directo ist nicht erforderlich ry, aber die URL wird immer noch mit dem Benutzernamen/Passwort darin besucht, die Werte des Benutzernamens/Passworts scheinen nirgends gesetzt zu sein (PHP 5.3.10 läuft als CGI/FastCGI auf Apache/2.2.22).
aus PHP (und/oder .htaccess
falls erforderlich), wenn keine Authentifizierung erforderlich ist, ist es eine Möglichkeit, die Werte des Benutzernamens (und/oder Passwort) abzurufen, die von einem Besucher zur Verfügung gestellt wurden, die manuell zu der URL hinzugefügt?
Es kann nicht von Apache zu PHP weitergeleitet werden, wenn es nicht von der 401-Header erforderlich ist –
Ich habe gerade eine Testseite gemacht und 'PHP_AUTH_USER' und' PHP_AUTH_PW' sind beide im Array $ _SERVER' gesetzt, auch wenn es keine gibt Authentifizierung erforderlich. – Phil
@Phil Hmm ... Das lässt mich fragen, ob dieses spezielle Setup, mit dem ich arbeite, ein Apache-Modul oder so etwas vermisst. Und wenn das der Fall ist, welcher wäre es? Wenn Sie unnötige Benutzer-/Pass-Zugangsdaten senden, enthalten 'PHP_AUTH_USER' und' PHP_AUTH_PW' die gesendeten Werte? – jerdiggity