删除ASP.net中的历史记录页面

时间:2010-10-21 15:20:15

标签: asp.net

如何删除ASP.net中的历史页面? 在我的应用程序中,当用户注销时,我删除了会话变量并使cookie过期(aspxauth和asp_net_sessionId)但是当用户点击浏览器的后退按钮时,用户仍然可以看到包含所有用户信息的页面。但是,由于会话不可用,页面无法与服务器交互,但过期页面包含人口统计信息,这是安全问题的有害方案。 任何帮助赞赏。

3 个答案:

答案 0 :(得分:3)

据我所知,你不能。但是,您可以禁用页面上的缓存,该缓存应该可以提供所需的结果。当用户单击回来时,应该再次拉出页面,而不是显示缓存页面。如果您的网站设置正确,则应将其重定向到登录页面。

答案 1 :(得分:1)

如果这是安全数据,您应该提供HTTPS,而无论如何都不会缓存它。你也可以试试

response.Headers.Add("pragma", "no-cache");
response.Headers.Add("Cache-control", "no-cache, no-store, must-revalidate");
response.Headers.Add("Expires", "01 Apr 1995 01:10:10 GMT");

让页面立即过期。

答案 2 :(得分:0)

历史记录页面是浏览器,客户端功能,而不是服务器端。因此,除了使用ASP.NET和C#之外,您无法删除。

可以创建一个可以删除历史记录的javascript客户端代码,但我认为这不是一个好的设计。也许这是您唯一的选择,但从用户的角度来看,我觉得无法访问浏览器历史记录很烦人。

我想你应该想到一个不同的策略,比如避免缓存页面。

相关问题