XAMPP 与 Apache; .htpasswd 密码不会被读取为加密
Posted
技术标签:
【中文标题】XAMPP 与 Apache; .htpasswd 密码不会被读取为加密【英文标题】:XAMPP with Apache; .htpassword passwords dont get read as encrypted 【发布时间】:2012-09-02 16:24:50 【问题描述】:当尝试使用 .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。
【问题讨论】:
你也可以提供 .htaccess 吗?谢谢 好的,我用 .htaccess 文件中的内容更新了帖子。而且当我如上所述尝试用户名和密码然后转到 .mp3 文件时,它不会加载它 我建议您运行以下代码(link),它会正确加密您的密码。然后将其放入您的密码中:lol:test
作为密码,lol
作为用户名,但它仍然不接受它,只有加密的密码作为密码。如果有帮助,我的浏览器中也会显示your password will be sent unencrypted
。
【参考方案1】:
万一有人需要指导 (适用于 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/
再次运行该目录,然后滚动到文件底部以查看显示的错误消息,以便 *** 可以更好地帮助您。
可能的解决方案
还有Alain Tiemblo。我最近在 Windows XAMPP 上的 crypt(base64()) 加密方法也遇到了问题 - 查看了 Apache 站点,也建议使用这种方法。
'SHA' . base64_encode(sha1($password, TRUE)); //which works
或者,您可以打开命令提示符(开始菜单->附件-> 命令提示符)并执行以下方法(因为您直接使用 Apache,它应该始终正确加密):
The method described here works for htpasswd
【讨论】:
以上是关于XAMPP 与 Apache; .htpasswd 密码不会被读取为加密的主要内容,如果未能解决你的问题,请参考以下文章