使用 .htacces/.htpasswd 进行 http 基本身份验证,允许稍微错误的密码

使用 .htacces/.htpasswd 进行 http 基本身份验证,允许稍微错误的密码

我有几个网站,其中的目录受 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 专家能尽快找到解决方法...

相关内容