我真的不懂。 我不明白.htaccess、php和HTTP在http-authentication主题中是如何共同工作的。
如何实现这一目标:我有一个文件夹,我想防止未经授权的人访问。 在这个文件夹中,我有图片,例如,如果用户被授权,则应显示该图片,如果没有,他应该有可能为此请求输入用户名和密码。
我需要一个.htaccess文件吗?它将重定向到一个php文件,检查并处理认证,发送适当的头,并输出所请求的文件吗?
还是我需要做其他事情? 我需要完全用另一种方式解决这个问题吗?
我真的不懂。 我不明白.htaccess、php和HTTP在http-authentication主题中是如何共同工作的。
如何实现这一目标:我有一个文件夹,我想防止未经授权的人访问。 在这个文件夹中,我有图片,例如,如果用户被授权,则应显示该图片,如果没有,他应该有可能为此请求输入用户名和密码。
我需要一个.htaccess文件吗?它将重定向到一个php文件,检查并处理认证,发送适当的头,并输出所请求的文件吗?
还是我需要做其他事情? 我需要完全用另一种方式解决这个问题吗?
AuthName "Protected"
AuthType Basic
AuthUserFile securepath/.htpasswd
Require user authuser
$ adduser authuser
$ passwd authuser
$ htpasswd -c securepath/.htpasswd authuser
/restrict/.htaccess
这个.htaccess文件需要有#set up basic authentication
AuthType Basic
#provide password verification file
AuthUserFile /PATH_TO_HTPASSWD_FILE/.htpasswd
#set user names as "require user *******"
require user my_username
然后在你的.htpasswd文件中,你可以像这样验证你的用户名/密码:
my_username:$1$jeTmJQpY$gKrWlJqL6dCCSX62Hspfp0
验证通过"用户名:密码" <<冒号分隔,密码可以以各种方式存储(crypt,明文,sha1,md5)。在上面的例子中,我选择了密码"password"并使用crypt
作为输出。
强烈建议不要将.htpasswd文件存储在同一目录中。
我需要一个.htaccess文件吗?
只有在使用上述第一种方法时才需要。即使如此,最好将配置放在主服务器配置中(更有效率)。
重定向到一个php文件
如果选择第二种方法,通常会在每个需要身份验证的页面顶部include
您的身份验证代码。(对于简单的方法,MVC方法往往有更模块化的方式来处理事情)。