Аутентификация Apache: перенаправление по сбое, надежно?
-
19-09-2019 - |
Вопрос
Я установил свой Errordocument 401, чтобы указать на страницу создания учетной записи моего веб -сайта, но не все браузеры, кажется, чтят этот перенаправление (Safari).
Кроме того, другие браузеры (Firefox, Chrome) никогда не перестают просить пароля и показывать ошибку. Это заставляет большое количество пользователей отказаться от попыток после многих попыток пароля, не видя страницу создания учетной записи.
Есть ли способ сделать перенаправление более надежным, не разбивая основную аутентификацию?
Решение
Простой ответ на ваш вопрос - нет, вы не можете сделать это более надежным без реализации пользовательской аутентификации.
Единственный способ, которым Firefox и Chrome будут отображать страницу, которую вы указали в директиве Errordocument 401, - это если вы нажмете кнопку «Отмена». Кроме того, нет перенаправления, отправленного с 401 HTTP -кодом; Скорее, это содержание документа, указанного в директиве Errordocument 401. Вы можете перенаправить с помощью HTML Meta Tag:
<Location "/protected">
AuthUserFile /path/to/users
AuthName "This is protected area"
AuthGroupFile /dev/null
AuthType Basic
Require valid-user
#ErrorDocument 401 /register.html
ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=/register.html\"></html>"
</Location>
Возможные решения вашей проблемы состоит в том, чтобы создать пользовательский базовый модуль аутентификации HTTP или использование языка, такого как PHP, который поддерживает основные крючки для аутентификации HTTP
Другие советы
Я подозреваю, что ваши пользователи Firefox и Safari не вступают в домен до имени пользователя, то есть имени пользователя. В Firefox есть некоторые настройки, которые позволят пройти через аутентификацию; Я не знаю о сафари.