小弟最近做一个项目,用session保存用户的登陆信息,正常的登录和退出都没有问题但发现一个问题,当log out转到login页面后,在login页面上点IE浏览器的“后退”按钮,还是可以转到数据页面。请问这是怎么回事?如何解决?
解决方案 »
- 如何获取DataList中某条记录的ID
- TreeView1 获取三级目录
- 控制用户访问权限的实现原理
- 求在线考试系统源码
- 超级奇怪问题 牛人救命
- 服务器控件 TextBox 只读
- 关于confirm的问题
- FreeTextBox高级问题--在用window.showModalDialog()方法打开的对话框页面中无法编辑!!!
- .net中的类库dll能否跨平台使用,.net中能否使用可以注册的com组件?
- 紧急求救,可惜这会儿'思归'在美国要睡觉了,请问其他高手:运行在服务器段的DIV怎么用脚本获得它的值。
- 怎能能让网页回传显示的时候不从页面最方开始显示,一下子就显示网页的底部或页面的某个位置?
- WebPart控件中选择编辑属性(EditZone)之后或者实现拖动之后,是不是已经保存了,下次登录时还是你保存的
调用了Session.Abandon();后,点“后退”按钮就不会出现我所说的问题的了吗?
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">ASP网页<%
Response.Expires = -1
Response.ExpiresAbsolute = Now() - 1
Response.cachecontrol = "no-cache"
%>
点击后退,看到的是页面的缓存,禁用缓存(客户端)可以起到一定作用
---------------------------------------------------------------------可是在Session_End 中对文件更改操作并没有效果,请解释一下!!!
我遇到过一样的问题,是因为你的页面被缓存到了本机上,你按回退时是访问了internet临时文件夹里的缓存文件,所以好像session还管用一样,你要是把临时文件夹里的缓存文件删除了就不会出现这样的现象了。
解决方法:你把下面这段代码加到page_load里的开始位置,使本机不能缓存该页面就可以了
Response.Expires = -1
Response.ExpiresAbsolute = Now() - 1
Response.cachecontrol = "no-cache"
你要考虑3个问题
1.这样的页面不能缓存
Response.Cache.SetCacheability(HttpCacheability.Server)把他放在page_load里
2.这样的页面要立即过期
Response.Cache.SetExpires(Now.AddSeconds(-50))把他放在page_load里
3.注销后页面SESSION为空
Session.Abandon()你想放哪里就放在那里!
给分.......!
当退出时,打开新的页面(logout),并关闭前面的页面,在logout页面转向login页面,这样后退就不会出现数据页面啦
方法不错,功能实现了给分!!!!谢谢!!!