使用Nginx和PHP,我想保护用户名/密码检查后面的文件夹内容。
在前端,我想使用HTTP Basic Auth,而不是必须实现任何形式。
在后端,此检查应使用业务逻辑,而不是静态htpasswd文件(例如通过数据库或API)。
换句话说,流程将是:
实现这一目标的最简单方法是什么?
(很明显,我主要想要有关配置Nginx的建议。除了获取凭据和返回文件之外的PHP逻辑不是我的问题。)
编辑:我根本不需要或想要创建会话。我不介意用户每次为每个文件输入凭据。
答案 0 :(得分:0)
如果您使用Nginx进行操作,那么只需要将几个directives添加到您想要限制访问和设置密码的位置,Nginx会完成剩下的工作。 Nginx实现使用静态文件作为密码。
对于更像您所描述的解决方案的解决方案,请查看PHP documentation
中的示例答案 1 :(得分:0)
对于Apache,目录或位置指令可用于限制访问:https://wiki.apache.org/httpd/PasswordBasicAuth
<Directory "/var/www/html/protected">
AuthType Basic
AuthName "Authentication Required"
AuthUserFile "/etc/htpasswd/.htpasswd"
Require valid-user
Order allow,deny
Allow from all
</Directory>