Ответ 1
TL;DR; Насколько я вижу, эта информация никогда не отправляется на сервер, поэтому я утверждаю, что это невозможно.
Как работает http-аутентификация, если вы его установили, сервер отправляет запрос для пользователя/пароля, если он еще не установлен, и браузер затем добавляет эту информацию в кодированную форму в заголовок Authorization
и отправляет ее на сервер вместе с запросом.
Как указано в RFC 2617, описывающее механизмы аутентификации Basic и Digest. Для базовой аутентификации сервер отправляет поля заголовка HTTP 401 Not Authorized
и WWW-Authenticate
для запроса этой информации. (RFC 2617, Access Authentication Framework)
В тестах видно, что если аутентификация никогда не будет настроена на требуемом сервере, сервер не будет запрашивать информацию аутентификации из браузера, и браузер не будет добавлять информацию пользователя/пароль в запрос. RFC не позволяет браузеру (агенту пользователя) не передавать эту информацию, но вместо этого говорит
Пользовательский агент, который хочет аутентифицировать себя с помощью источника сервер - обычно, но не обязательно, после получения 401 (Неавторизованный) - МОЖЕТ сделать это, включив поле заголовка авторизации с запросом.
На практике, если вы смотрите отправленные заголовки, вы можете видеть, что если эта информация запрашивается сервером, она отправляется в кодированной форме с использованием заголовка Authorization
, как указано в RFC. Однако, если вы не используете аутентификацию, запрос, который вы отправляете, похоже, не содержит этой информации в любой форме. Я подтвердил это с помощью браузеров IE, Firefox и Chrome.
Если вы хотите проверить это самостоятельно для своей установки, это можно сделать, например, используя netcat следующим образом:
Сначала запустите netcat на своем сервере:
nc -l 8888
Затем выполните запрос из вашего браузера в http://testvalue:[email protected]:8888/
В результате наблюдайте от netcat вывод всей информации, отправляемой на сервер, примерно так:
GET / HTTP/1.1
Host: yourdomain:8888
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Информация о пользователе или пароле отсутствует. Я утверждаю, что, если сервер не запросит его, он не будет там.