密码保护在不同浏览器中的表现方式不同(使用htaccess)

时间:2012-01-20 13:56:59

标签: regex .htaccess authentication password-protection

是的,这就是事情:我正在尝试用密码保护特定文件夹中的某些文件。所有文件都是图像,因此我决定通过在每个文件的开头添加“p_”(用于“私有”)来“标记”我想要保护的文件。这是htaccess:

<FilesMatch "^[pP]_.*">
AuthUserFile /path/to/.htpasswd
AuthGroupFile /dev/null
AuthType Basic
AuthName "Password required"
Require valid-user
</FilesMatch>

这方面的结果因浏览器而异:

  • Firefox:请求密码一次并正常工作
  • Chrome(最新版本):输入有效psw时反复提示验证框
  • IE8:每次遇到“标记”文件时都要求输入密码

你们可以测试:http://pierre-albiero.com/ip/es/top/imagenes登录:测试

我是否在htaccess中错过了一行或者正则表达式错了? 你有同样的结果吗?

1 个答案:

答案 0 :(得分:0)

这种行为在很大程度上取决于浏览器。 Web服务器使用HTTP标头标志来指示所访问的内容受到保护。然后,浏览器可以提交登录名和密码以通过网络服务器进行身份验证。

但由于HTTP是无状态的(一旦网站传输,客户端关闭连接,网络服务器就不再识别客户端),浏览器每次要下载特定数据时都必须发送身份验证信息。

因此,为了让用户感到舒服,许多浏览器会缓存网站的身份验证信息,因此您无需一次又一次地为每个项目输入该身份验证信息。当chrome重复询问时,可能存在阻止缓存这些密码的设置,或者这是您的chrome版本中的错误。

(维基百科有一个关于沟通中发生的事情的一个很好的例子:http://en.wikipedia.org/wiki/Basic_access_authentication

我在这里也用Opera测试了它。当我输入密码时,我可以重复访问图像而无需再次输入密码。然后我删除了缓存并重新加载了网站 - &gt; Opera再次要求输入密码。

相关问题