如何防止退出后的后退和缓存

runit 2009-09-15 06:57:11
成功登陆后,在Page_Load 里进行Session["ligin"]=="on"验证,点击退出,通过<a href>在本窗口转到退出页,在退出页中,Session.Clear(),但是在没有关闭窗口之前,点击浏览器后退按钮,仍然可以进入登陆后的页面,刷新后,仍然有Session存在。如何彻底清除Session,防止页面后退?并且防止页面缓存?前提是仍在同一个窗口中。
...全文
101 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
runit 2009-09-16
  • 打赏
  • 举报
回复
问题找到了,输入密码的页面和登陆后的页面,通过Server.Transfer转的,如果换成Response.Redirect,再配合3楼的代码,则没有上述问题。
yao991118 2009-09-15
  • 打赏
  • 举报
回复
帮顶
feiyun126 2009-09-15
  • 打赏
  • 举报
回复
Session.Abandon();
yankunlin 2009-09-15
  • 打赏
  • 举报
回复
可以清空缓存的...
runit 2009-09-15
  • 打赏
  • 举报
回复
在退出页面里Session["ligin"]="off" 不管用,我试了,还可以回去,刷新后Session["ligin"]="on"
mb_1985 2009-09-15
  • 打赏
  • 举报
回复
可以使用HttpModule进行处理,判断每个请求中Session["ligin"].ToString()=="on",否则使页面跳转至登陆页面
chen_ya_ping 2009-09-15
  • 打赏
  • 举报
回复
可以禁止缓存的:
Response.Buffer = true;
Response.ExpiresAbsolute = DateTime.Now.Date.AddDays(-1);
Response.Expires = 0;
Response.CacheControl = "no-cache";
Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">

或者用这个试试:
Session.Remove();
photoplan 2009-09-15
  • 打赏
  • 举报
回复
问题可能是缓存, 在 meta 标签里设一下,把浏览器缓存禁用
photoplan 2009-09-15
  • 打赏
  • 举报
回复
Session["ligin"]="off";

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧