Обычно, когда для общедоступного каталога требуется базовая HTTP-аутентификация, значение $_SERVER['HTTP_AUTHORIZATION']
и/или $_SERVER['REMOTE_USER']
(или $_SERVER['PHP_AUTH_USER']
и т.д.) будет установлено и доступно для PHP, как только действительная комбинация имени пользователя и пароля будет иметь был предоставлен серверу.
Например, если http://www.example.com/members
требует базовой аутентификации, и пользователь успешно выполняет аутентификацию с использованием учетных данных myusername
и mypassword
, вручную введя http://myusername:[email protected]/members
в свой браузер, значение $_SERVER['HTTP_AUTHORIZATION']
будет выглядеть примерно так:
Basic bXl1c2VybmFtZTpteXBhc3N3b3Jk
... и значение $_SERVER['REMOTE_USER']
будет просто:
myusername
Однако, если аутентификация не требуется в том же каталоге, но URL-адрес по-прежнему посещается с именем пользователя/паролем внутри него, значения имени пользователя/пароля не отображаются нигде (запуск PHP 5.3.10 как CGI/FastCGI на Apache/2.2.22).
Изнутри PHP (и/или .htaccess
при необходимости), когда не требуется аутентификация, существует способ получить значения имени пользователя (и/или пароля), которые были предоставлены посетителем которые вручную добавили их в URL?