Это правильно. У меня есть файл .htaccess в папке с именем admin внутри моего веб-каталога. Он содержит это:
AuthType Basic
AuthName "Password Protected Area"
AuthUserFile /storage/ssd2/048/1839048/.htpasswd
Require valid-user
У меня также есть файл .htpasswd над моим веб-каталогом, поэтому посетители его не видят:
test:dGRkPurkuWmW2
Все работает нормально, но я не могу понять, как этот метод аутентификации может сохранять пароли. Когда я впервые получил доступ к защищенному каталогу, он запросил у меня пользователя и пароль, но теперь, когда я обновляю страницу, он меня больше не спрашивает. Я очистил файлы cookie в своем браузере и перезапустил его, но пароль все еще сохранен. Кто-нибудь знает, как это работает?
Очистка файлов cookie не помогла, потому что пароль сохраняется в браузере, но его нет в печенье определено в Механизм управления состоянием HTTP (RFC 6265), например, идентификаторы сеанса:
== Сервер -> Пользовательский агент ==
Set-Cookie: SID=31d4d96e407aad42; Path=/; Secure; HttpOnly Set-Cookie: lang=en-US; Path=/; Domain=example.com
== Пользовательский агент -> Сервер ==
Cookie: SID=31d4d96e407aad42; lang=en-US
Этот вид SID используется более сложными механизмами аутентификации, которые проверяют пароль только один раз, а затем доверяют аутентификации этого пользователя на основании только наличия файла cookie.
Вместо, AuthType Basic
использует Authorization = credentials
заголовок из HTTP-аутентификация (RFC 7235, 4.2). Это очень простой механизм аутентификации, который отправляет учетные данные по каждому HTTP-запросу в формате: credentials = auth-scheme [ 1*SP ( token68 / #auth-param ) ]
.
Браузер продолжает отправлять его, пока не получит новый 401 Unauthorized
код состояния в HTTP-ответе:
Если запрос аутентифицирован и указана область, предполагается, что одни и те же учетные данные действительны для всех других запросов в этой области (при условии, что сама схема аутентификации не требует иного, например учетные данные, которые меняются в зависимости от значения запроса или использования синхронизированных данных). часы).
Один из способов заставить это сделать это без активной настройки чего-либо для отправки 401
заключается в том, чтобы заставить пользователя использовать URL-адрес с другим именем пользователя и паролем в нем, т.е. http://forcelog:out@example.com/
(ссылка или JS).
Браузеры обычно очищают базовую информацию аутентификации при перезапуске. Дополнительно (не полный список):
chrome://restart
в адресной строке.