是的,这就是事情:我正在尝试用密码保护特定文件夹中的某些文件。所有文件都是图像,因此我决定通过在每个文件的开头添加“p_”(用于“私有”)来“标记”我想要保护的文件。这是htaccess:
<FilesMatch "^[pP]_.*">
AuthUserFile /path/to/.htpasswd
AuthGroupFile /dev/null
AuthType Basic
AuthName "Password required"
Require valid-user
</FilesMatch>
这方面的结果因浏览器而异:
你们可以测试:http://pierre-albiero.com/ip/es/top/imagenes登录:测试
我是否在htaccess中错过了一行或者正则表达式错了? 你有同样的结果吗?
答案 0 :(得分:0)
这种行为在很大程度上取决于浏览器。 Web服务器使用HTTP标头标志来指示所访问的内容受到保护。然后,浏览器可以提交登录名和密码以通过网络服务器进行身份验证。
但由于HTTP是无状态的(一旦网站传输,客户端关闭连接,网络服务器就不再识别客户端),浏览器每次要下载特定数据时都必须发送身份验证信息。
因此,为了让用户感到舒服,许多浏览器会缓存网站的身份验证信息,因此您无需一次又一次地为每个项目输入该身份验证信息。当chrome重复询问时,可能存在阻止缓存这些密码的设置,或者这是您的chrome版本中的错误。
(维基百科有一个关于沟通中发生的事情的一个很好的例子:http://en.wikipedia.org/wiki/Basic_access_authentication)
我在这里也用Opera测试了它。当我输入密码时,我可以重复访问图像而无需再次输入密码。然后我删除了缓存并重新加载了网站 - &gt; Opera再次要求输入密码。