首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >防止用户在注销后看到以前访问过的安全页面

防止用户在注销后看到以前访问过的安全页面
EN

Stack Overflow用户
提问于 2010-11-16 20:40:54
回答 6查看 69.1K关注 0票数 103

我有一个要求,即最终用户在注销/注销后不能返回受限制的页面。但目前终端用户可以通过浏览器的后退按钮,访问浏览器历史记录,甚至在浏览器的地址栏中重新输入URL来完成此操作。

基本上,我希望最终用户应该不能在登出后以任何方式访问受限制的页面。我怎样才能做到最好呢?我能用JavaScript禁用后退按钮吗?

EN

回答 6

Stack Overflow用户

发布于 2012-03-04 04:28:07

如果你转发一个页面,Url模式中的*.jsp将不起作用。试着把你的servlet也包括进来。这将使您的应用程序不受后退按钮问题的影响。

票数 5
EN

Stack Overflow用户

发布于 2015-06-29 23:44:14

要做到这一点而不禁用浏览器返回,最简单的方法是将以下代码添加到您不希望用户在注销后返回的页面的page_load事件中:

代码语言:javascript
复制
if (!IsPostBack)
    {
        if (Session["userId"] == null)
        {
            Response.Redirect("Login.aspx");
        }
        else
        {
        Response.ClearHeaders();
        Response.ClearContent();
        Response.Clear();
        Session.Abandon();
        Session.Remove("\\w+");
        Response.AddHeader("Cache-Control", "no-cache, no-store, max-age = 0, must-revalidate");
        Response.AddHeader("Pragma", "no-cache");
        Response.AddHeader("Expires", "0");
        }
    }
票数 2
EN

Stack Overflow用户

发布于 2016-11-05 20:38:38

执行此操作的正确方法是将

代码语言:javascript
复制
Vary: Cookie

安全页面上的标题。当用户注销时,清除其会话cookie。然后,当他们在注销后返回导航时,浏览器缓存将丢失。这也有一个好处,就是不会完全破坏缓存。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4194207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档