我有几个网站,其中的目录受 http basic auth 保护,这些保护是通过 .htaccess 文件与 .htpasswd 文件配对实现的。我注意到,如果密码以“et!”结尾,我可以通过省略“t!”或将 ! 替换为 1 来进入。
我的.htaccess 文件的内容:
AuthType Basic
AuthName "administration"
AuthUserFile /var/www/conf/mysitename.com.pw
require valid-user
我在 mysitename.com.pw 有两个用户。
显然这种行为是不可取的。知道发生了什么吗?
答案1
看一下:http://httpd.apache.org/docs/2.1/misc/password_encryptions.html
我觉得您使用的是 CRYPT 格式的密码(大多数平台上的默认密码)。CRYPT 密码仅使用密码的前 8 个字符。
我怀疑您的密码长度超过了 8 个字符,并且“稍微不正确”的部分是第九位或更高位置的字符(实际上并未作为密码的一部分进行检查)。
答案2
我会先尝试删除并重新创建 .pw 文件。这是一个非常奇怪的问题……
如果这不能解决问题,请检查与您的 Apache 版本相关的错误报告。我非常非常我怀疑这是一个错误。
我希望我知道接下来该怎么做。希望您删除/重新创建文件后可以解决问题。如果没有,希望 Apache 专家能尽快找到解决方法...