Apache Digest/Basic Login Through PHP


Apache Digest/Basic Login Through PHP

我试图弄清楚是否有办法让PHP为用户登录Apache。 因此,如果用户在HTML表单上提供有效的用户名和密码,PHP将使用凭据登录。 所以,像这样:

<?php 
if ($_POST["user"] == "john" && $_POST["pass"] == "swordfish"){
   apache_login($_POST["user"], $_POST["pass"]);
}
?>

我正在尝试做的是在Apache上具有某种登录安全性以保护文件,但我想避免弹出Apache用于获取凭据的用户名/密码。

我希望他们在HTML表单中填写他们的信息,并让PHP在他们可以查看任何文件之前处理身份验证,这样人们就不能只在URL中输入"http://example.com/files/private.doc"并获取文件。

提前感谢!

你试过 http://comp.uark.edu/~ajarthu/mod_auth_form/吗这将为基本身份验证添加基于表单的登录。作者指出,Apache 将在 v2.4 中为此提供原生功能(见 https://httpd.apache.org/docs/2.4/mod/mod_auth_form.html)

阅读有关 Apache 请求处理模型的信息。

安全性先于处理程序,后者是调用PHP的地方。 如果 Apache 要求对客户端请求的特定资源进行身份验证,则必须在调用 PHP 处理程序之前满足此要求。