Apache-2.2

Apache HTTP 身份驗證錯誤

  • September 18, 2010

奇怪的是,我只需要輸入密碼的前 70% 部分即可清除訪問權限。

我使用 .htaccess 和 .htpasswd 來設置身份驗證。更奇怪的是,當密碼實際上是 abcabcabc123 時,我會被錯誤的密碼 abcabcabc124 允許訪問。

為什麼?

僅供參考,我在 PHP 中使用此程式碼段來生成要在 .htpasswd 中使用的密碼字元串:

// Password to be encrypted for a .htpasswd file
$clearTextPassword = 'abcabcabc123';

// Encrypt password
$password = crypt($clearTextPassword, base64_encode($clearTextPassword));

// Print encrypted password
echo $password;

將 htpasswd 與 DES 一起使用意味著您的密碼只能是 8 個字元長。使用 MD5 消除了這個限制。

希望這可以幫助!

引用自:https://serverfault.com/questions/182445