#php #apache #basic-authentication #digest
#php #apache #базовая аутентификация #дайджест
Вопрос:
Я пытаюсь выяснить, есть ли способ заставить PHP войти в Apache для пользователя. Таким образом, если пользователь вводит действительное имя пользователя и пароль в HTML-форме, PHP войдет в систему с учетными данными. Итак, что-то вроде:
<?php
if ($_POST["user"] == "john" amp;amp; $_POST["pass"] == "swordfish"){
apache_login($_POST["user"], $_POST["pass"]);
}
?>
Что я пытаюсь сделать, так это установить какую-то систему безопасности входа в Apache для защиты файлов, но я хочу избежать всплывающего окна имени пользователя / пароля, которое Apache использует для получения учетных данных.
Я хочу, чтобы они заполнили свою информацию в форме HTML и попросили PHP позаботиться об аутентификации, прежде чем они смогут просматривать какие-либо файлы, таким образом, кто-то не сможет просто поместить «http://example.com/files/private.doc «введите URL и получите файл.
Заранее спасибо!
Комментарии:
1. Вы когда-нибудь находили решение этой проблемы?
Ответ №1:
Вы пробовали http://comp.uark.edu /~ajarthu/mod_auth_form/ Это добавляет логин на основе формы для базовой аутентификации. Автор утверждает, что Apache будет иметь встроенную возможность для этого в версии v2.4 (см. https://httpd.apache.org/docs/2.4/mod/mod_auth_form.html )
Комментарии:
1. Хотя этот мод все еще основан на сеансе. Просто говорю
Ответ №2:
Прочитайте о модели обработки запросов Apache.
Безопасность важнее обработчика, в последнем из которых вызывается PHP. Если Apache требует аутентификации для определенного ресурса, запрошенного клиентом, это требование должно быть выполнено до вызова обработчика PHP.