我有一个问题,我的服务器正在为我的网站接受一个错误的密码。
例如,我的域名可能是“johndoe.com”,场景是
- ht 登录名:johndoe
- HT密码:johndoe123
这可以很好地让我登录,但是有一个小问题。出于某种原因,我也可以使用我的登录名作为密码,它会让我进入!我尝试使用随机密码,但没有用(预期行为)。
我查看了我的 .htpasswd,它看起来像这样:
johndoe:rpFVb9n8R.p9c
那么我的密码和我的登录名是如何作为正确密码工作的呢?这超出了我的范围:/
看起来您可能正在使用 crypt 作为您的密码,基于散列。旧版本的 crypt 实际上只使用密码的前 8 个字符,所以如果你的用户名和密码的共享前缀比这长,那将导致你看到的症状。
不要使用 crypt,而是使用 SHA;
htpasswd
带着-s
旗帜跑,例如