.htaccess 提示输入密码

Posted

技术标签:

【中文标题】.htaccess 提示输入密码【英文标题】:.htaccess prompt for password 【发布时间】:2012-07-25 03:24:11 【问题描述】:

是否有办法将一个人的 .htaccess 文件设置为每次都提示进行身份验证?示例:我打开一个浏览器选项卡,转到受密码保护的 url,系统提示我输入密码。关闭选项卡(主浏览器仍然打开)并重复上述操作并再次提示输入密码。除非我关闭浏览器,否则不会发生这种情况。也许这是一个缓存的东西?

这是我目前所拥有的:

AuthType Basic
AuthName "myName"
AuthUserFile "/home/myDir/.htpasswds/public_html/myName/passwd"
require valid-user

提前致谢。

【问题讨论】:

【参考方案1】:

实际上它是这样工作的(简化):

浏览器在没有凭据的情况下向您的服务器发送请求 Apache 响应 403 错误,因为指定了“需要有效用户” 浏览器提示输入用户名和密码 浏览器再次发送请求,这次提供了凭据 Apache 根据 AuthUserFile 验证凭据并相应地设置“有效用户” 如果一切正常 - 输出带有 200 个状态码的数据 接收 200 个代码的浏览器缓存相关域的使用凭据,直到浏览器会话到期

如您所见 - 问题在于浏览器。您不能强制浏览器忘记它用于域的密码。通常你不希望 - 例如,如果受密码保护的页面包含图像 - 浏览器会要求每个下载的图像的用户名和密码。

不过,您可以尝试一些技巧:

您可以编写自己的 Apache 授权处理程序,该处理程序仅在用户第二次访问该页面时对其进行授权;但真的很难做到 您可以使用某种基于表单的身份验证(在 php 或 asp.net 等脚本中),而不是依赖于 http 身份验证;这种方式很灵活 你可以做个小把戏,每次访问受保护的页面时,某种脚本都会更改passwd 文件中的密码;然后为每个用户提供两个密码并在每个请求上切换它们;这样浏览器总是记住“错误”的密码;看起来很疯狂,但这是我能想到的最简单的解决方案:-)

【讨论】:

以上是关于.htaccess 提示输入密码的主要内容,如果未能解决你的问题,请参考以下文章

.htaccess 设置问题

SourceTree一直提示输入密码解决方案

JQ+ajax怎么实现登录输入密码错误时提示输入错误次数

为啥火狐老提示请为 软件安全设备 输入密码

用python提示用户输入密码,直到输入正确密码?

输入正确的密码确提示说用户名或密码不正确