Аутентификация Apache: перенаправление по сбое, надежно?

StackOverflow https://stackoverflow.com/questions/1726860

Вопрос

Я установил свой 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

http://php.net/manual/en/features.http-auth.php

Другие советы

Я подозреваю, что ваши пользователи Firefox и Safari не вступают в домен до имени пользователя, то есть имени пользователя. В Firefox есть некоторые настройки, которые позволят пройти через аутентификацию; Я не знаю о сафари.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top