3

我正在使用以下代码行在注销后禁用浏览器后退按钮问题。

function LogoutOnClick() {
    window.history.go(-1);
}

但是,这段代码有一个问题,假设我有三个页面,第一个是登录页面(login.cshtml),第二个成功登录页面(home.cshtml),第三个页面是关于页面(about.cshtml),

现在我登录然后它会在home.cshtml页面上重定向我,因为我在第三页上移动,about.cshtml然后我从页面注销about.cshtml,它会在页面上重定向我login.cshtml

现在,如果我再次clicked on browser back button在页面上重定向我,about.cshtml但用户无法更改或添加任何内容。

所以让我知道是否有任何适当的代码或方法来解决这个问题。

4

3 回答 3

6

您需要禁用仅在登录时可见的页面的浏览器缓存,以防止用户在退出后返回到他们登录时的页面。这样您就不必担心禁用后退按钮。如果他们尝试访问要求他们登录的页面,您会将他们重定向到登录页面。

于 2013-03-14T09:23:02.673 回答
4

要禁用后退浏览器按钮了解更多信息:这里

我认为这段代码可以帮助你:

 <SCRIPT type="text/javascript">
    window.history.forward();
    function noBack() { window.history.forward(); }
</SCRIPT>
</HEAD>
<BODY onload="noBack();"
    onpageshow="if (event.persisted) noBack();" onunload="">

编辑:注销后禁用检查:这里

于 2013-03-14T09:22:12.897 回答
1

我不认为,禁用浏览器中的后退按钮是您想要的,或者不是您应该想要的!从安全的角度来看,您应该尝试销毁会话。并且您应该在页面的每个请求中证明权限。

想想,你想归档什么;-)

于 2013-03-14T09:28:05.107 回答