尝试使用.htaccess和.htpasswd密码保护页面时,我转到我保护的页面并输入用户名和密码。问题是我加密的密码不是我必须输入的密码。而是加密密码。
例如:
lol:noitcS2m.5F6.
我输入lol
作为用户名,noitcS2m.5F6.
作为密码,然后我就可以进入。
但是,如果我使用我加密的密码,它将无效。谁能向我解释我做错了什么?我安装了XAMPP 1.8.0,Apache 2.4.2和PHP 5.4.4。
我的.htaccess文件包含以下内容:
AuthType Basic
AuthName "restricted area"
AuthUserFile C:/xampp/htdocs/pass/.htpasswd
require valid-user
它位于C:/xampp/htdocs/dl/
此外,如果我AuthUserFile
为/dl/.htpasswd
,那么它会给我500错误。
答案 0 :(得分:0)
如果有人需要指示 (FOR APACHE 2.2和GREATER / Current XAMPP)
转到默认XAMPP文件夹,然后转到 apache / bin / error.log 。此文件包含localhost中Apache文件上发生的所有错误 - 它使诊断更加容易。
示例(我的一个):
[auth_basic:error] [pid 408:tid 1772] [client 127.0.0.1:4077] AH01617: user go_admin: authentication failure for "/HTAccessible/test/London/": Password Mismatch, referer: http://localhost/HTAccessible/test/London/
再次运行目录,然后滚动到文件底部以显示错误消息,以便StackOverflow可以帮助您更好。
可能的解决方案
另外Alain Tiemblo。我最近在Windows XAMPP上遇到了crypt(base64())加密方法的问题 - 看过Apache网站也提出了这种方法。
'{SHA}' . base64_encode(sha1($password, TRUE)); //which works
或者你可以打开命令提示符(开始菜单 - >附件 - >命令提示符)并执行这些方法(因为你直接使用Apache,它应该总是正确加密):