【发布时间】:2015-01-04 10:45:32
【问题描述】:
如果用户登录到我的网站并离开页面,我会尝试重定向他们。我将他们注销或关闭会话没有问题,但是,如果他们点击浏览器上的后退按钮,他们能够看到个人资料页面的模板,但没有与已记录的用户相关的信息我不希望这样,如果用户在登录时离开他们的个人资料后点击浏览器后退按钮,我希望用户被重定向到登录页面。有没有办法做到这一点?如果有,怎么做?
此脚本调用 logout.php 页面并在页面已卸载时将其注销,然后检查页面是否已重新加载并应将它们重定向到已登录页面。这是行不通的。
$(window).unload(function(){
$.post("../php/logout.php", {}, function(response){
if(response.success == "1"){
if(location.reload(true)){
location.replace("../pages/logged_out.php");
}
}
}, "json");
})
【问题讨论】:
-
所以问题是返回模板?您需要在模板页面顶部有一个脚本来验证用户是否已登录,并在那里进行重定向。
-
if(location.reload(true)){总是假的。 -
这可能是让用户注销(没收他们的 cookie)的错误方法。您可能想尝试 a) 如果用户关闭页面而不是注销,则在用户下次登录时责备他们,ala gmx.com,或 b) 设置不同的 cookie 过期策略。
-
@Mark,您可以将您的回复作为答案发布,以便我给予您信任吗?
-
@Robert 按照要求,现在是答案。
标签: javascript jquery ajax redirect