Итак, у нас есть несколько папок в нашей исходной базе, которые защищены htdigest.
мы хотели бы регистрировать неверные входы в систему через наш собственный обработчик php.
я надеялся сделатьэто через директиву apache ErrorDocument.
, поэтому я предполагаю, что мой вопрос двухуровневый.
a) Допустимо ли указывать директиву apache ErrorDocument на сценарии php, и будет ли он анализироваться какскрипт php (при условии, что php запущен для указанного httpd).
b) я быстро взглянул на список кодов состояния http на http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html.
10.4.2401 Несанкционированный
Запрос требует аутентификации пользователя.Ответ ДОЛЖЕН включать поле заголовка WWW-Authenticate (раздел 14.47), содержащее запрос, применимый к запрашиваемому ресурсу.Клиент МОЖЕТ повторить запрос с подходящим полем заголовка Авторизация (раздел 14.8).Если в запрос уже включены учетные данные авторизации, то ответ 401 указывает, что в авторизации было отказано для этих учетных данных.Если ответ 401 содержит ту же проблему, что и предыдущий ответ, и пользовательский агент уже предпринял попытку аутентификации по крайней мере один раз, тогда пользователю СЛЕДУЕТ представить объект, который был указан в ответе, поскольку этот объект может включать в себя соответствующую диагностическую информацию.Аутентификация доступа HTTP объясняется в разделе «Аутентификация HTTP: базовая и дайджест-аутентификация доступа» [43].
это делает его звучащим как процесс потока, из-за использования userragent в браузере будет следующим:
a) user hits protected url
b) apache responds with a 401 status code
c) user is presented by useragent with username + password prompt
мы хотим регистрировать только недействительные входы в систему, а не попадания, которые не знают (пока), что страница требует проверки подлинности.
в основном, и я сделаю небольшую вставку копииздесь, но то, что мы хотим, это пользовательская замена на основе php для следующего:
Authorization Required
This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.
что мы не хотим делать:
a) нам говорят, что мыв этом случае следует использовать полную систему входа на основе php.это уже сделано, аутентификация двухуровневая.пользователь должен войти в сервис через веб-интерфейс (на основе сеанса).и 2-й уровень аутентификации - аутентификация на основе http.
b) необходимо настроить полностью настроенный обработчик аутентификации http на основе php.да, я знаю, что это возможно, и довольно легко, но я бы хотел оставить фактическую обработку htdigest в руках апачей.но если оставить обработку http-аутентификации в руках apache невозможно, это в конечном итоге будет тем, чем мы должны будем заниматься.
Итак, подведем итог: возможно ли иметь Apache для анализа на основе phpскрипт на недопустимые логины htdigest (но их там нет), чтобы мы могли действовать внутри этого скрипта (log, ip block и т. д.)?