如何告诉浏览器忘记htdigest?

时间:2012-03-01 08:54:05

标签: php javascript python authentication lighttpd

我在lighttpd中使用Htdigest身份验证。当用户首次登录网站时,会出现标准的用户名/密码对话框。如果输入了正确的用户名和密码,则用户可以登录,否则lighttpd会显示“身份验证失败”页面。

到目前为止一切顺利!

问题是当用户想要注销时,浏览器不会忘记用户名和密码。换句话说,只要浏览器处于打开状态,用户就可以返回同一站点而无需进行身份验证。一种解决方案可以是关闭浏览器以便忘记身份验证但是我不想强迫用户每次想要注销时关闭浏览器。

有没有办法使用JavaScript或服务器端代码(即PHP,Python或Lua)让浏览器忘记htdigest身份验证?

PS。我们在服务器端使用Lua 5.1,它不如PHP强大,但它在Linux 2.6上的Lighttpd 1.4中作为FASTCGI运行。

1 个答案:

答案 0 :(得分:1)

可以做到,但很棘手。没有默认方法可以做到这一点。结论为from various sources

您必须在忘记用户/密码组合时欺骗浏览器。这可以通过让注销页面发送401 Not Authorized响应头来实现。不幸的是,每个浏览器的细节都有所不同。