代码之家  ›  专栏  ›  技术社区  ›  raaz

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

  •  97
  • raaz  · 技术社区  · 15 年前

    我要求最终用户在注销/注销后不能返回受限页面。但目前,最终用户可以通过浏览器后退按钮、访问浏览器历史记录,甚至通过在浏览器的地址栏中重新输入URL来实现这一点。

    基本上,我希望最终用户在注销后不能以任何方式访问受限页面。我怎样才能做到最好?我可以用javascript禁用后退按钮吗?

    5 回复  |  直到 9 年前
        1
  •  131
  •   Community Mohan Dere    9 年前

    Filter necessary response headers doFilter()

    @WebFilter
    public class NoCacheFilter implements Filter {
    
        @Override
        public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
            HttpServletResponse response = (HttpServletResponse) res;
    
            response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
            response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
            response.setDateHeader("Expires", 0); // Proxies.
    
            chain.doFilter(req, res);
        }
    
        // ...
    }
    

    Filter url-pattern *.jsp

    @WebFilter("*.jsp")
    

    /app /app/*

    @WebFilter("/app/*")
    

        2
  •  5
  •   Fahim Parkar    14 年前

        3
  •  2
  •   Ashraf Sada    10 年前

    page_load

    if (!IsPostBack)
        {
            if (Session["userId"] == null)
            {
                Response.Redirect("Login.aspx");
            }
            else
            {
                Response.ClearHeaders();
                Response.AddHeader("Cache-Control", "no-cache, no-store, max-age=0, must-revalidate");
                Response.AddHeader("Pragma", "no-cache");
            }
        }
    
        4
  •  0
  •   Bozho    15 年前

        5
  •  0
  •   Dan    9 年前

    Vary: Cookie
    

    推荐文章