XAMPP与Apache; .htpasswd密码不会被读取为加密

时间:2012-09-09 16:44:52

标签: php apache .htaccess xampp

尝试使用.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错误。

1 个答案:

答案 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,它应该总是正确加密):

The method described here works for htpasswd