我有一些网站,需要登录并显示敏感信息。
人去到页面,被提示登录,然后获得查看信息。
该用户从站点注销,并重定向回到登录页面。
然后该人可以“返回”并且回到包含敏感信息的页面。因为浏览器只是认为它是呈现的HTML,它显示给他们没有问题。
有没有办法防止当用户从退出屏幕中点击“返回”按钮时显示该信息?我不是试图禁用后退按钮本身,我只是试图保持敏感信息不再显示,因为该人没有登录到网站了。
为了讨论起见,上述网站/场景是在ASP.NET与表单验证(所以当用户转到第一页,这是他们想要的页面,他们被重定向到登录页面 – 如果这样做差异)。
解决方法
简短的答案是,它不能安全地完成。
然而,有很多技巧可以实现,使用户难以回击并获得敏感数据显示。
Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetExpires(Now.AddSeconds(-1)); Response.Cache.SetNoStore(); Response.AppendHeader("Pragma","no-cache");
这将禁用在客户端缓存,但这并不是所有的浏览器都支持。
如果您可以选择使用AJAX,则可以使用从客户端代码更新的更新面板检索敏感数据,因此,当客户端仍然登录时,它不会显示。