如何防止用户在按后退按钮注销后登录
How to prevent user loging in after log out on pressing back button
我编写了一个Web应用程序,它使用cookie在服务器端维护状态和python CGI脚本。现在,按下注销按钮后,用户被重定向到新页面,但是当再次按下后退按钮时,它会再次返回并显示登录。有没有办法通过HTML5历史API使用onpopstate事件来防止这种情况或其他更好?
发生这种情况是因为您的浏览器在客户端上缓存了该页面。
解决方案是防止该页面的缓存,方法是强制浏览器即使在按"后退"按钮时请求新页面,而不是读取保存的页面。
阅读这个和这个
更新:
1)您可以使用一些必须从服务器端获取的身份验证令牌,并且您需要在每个页面加载事件发生时对其进行验证。因此,您只需将此令牌保存在任何浏览器存储空间中,并在用户注销后将其清除(如果令牌不可用),然后将用户重定向到登录页面
2)或者简单地在用户登录时创建一个cookie变量,并在注销时清除它,并检查此cookie在每个页面加载事件中是否可用。
在您的注销功能上 清除所有饼干,例如
function deleteAllCookies() {
var cookies = document.cookie.split(";");
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i];
var eqPos = cookie.indexOf("=");
var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
}
}
相关文章:
- 注销后删除 Facebook 登录按钮 SDK
- 如何在angularjs应用程序中注销后,通过浏览器后退按钮禁止用户访问上一页
- 如何防止用户在按后退按钮注销后登录
- 尝试获取 if 语句以在人员未登录时显示登录按钮,在登录时显示注销按钮
- 当用户通过 iframe 表单登录时,如何将登录按钮更改为注销
- 注销后防止后退按钮
- 用户注销后显示登录,然后按返回按钮
- 如何将注销按钮更改为以角度登录
- 单击注销按钮时会话未被破坏
- AngularJS在应用程序页面的导航栏中有条件地显示登录/注销按钮
- 当用户在MVC Razor中注销后按下“后退”按钮时,如何阻止身份验证
- 如何在注销按钮上删除cookie
- 在注销Python后处理浏览器的“返回”和“下一步”按钮
- Facebook注销按钮,asp.net网站
- 插入FB.注销到其他脚本/ Fb中的注销按钮.登出无效
- 注销后删除历史记录或禁用后退按钮
- 从注销按钮重定向后,站点不加载索引样式
- 用户注销后,gmail如何处理它的后退按钮?
- 我想使用php中的按钮注销
- Facebook JS SDK登录按钮没有'登录时不显示注销