问题描述:
asp。net
采用sessionID放在URL中的模式,如果session过期后,当用户还是用原来过期的sessionID放在URL中
访问服务器时,服务器会自动接受这个sessionID,并就将这个sessionID作为新对话的id。
例如:
一个过期的sessionID是rm1bdu55wfvfubza1u0fo0ua,用户重新对服务器请求,发出链接为
http://localhost/(rm1bdu55wfvfubza1u0fo0ua)/1.aspx,服务器会判断出是一个新的会话,并为这个
会话分配的id就是rm1bdu55wfvfubza1u0fo0ua,现在要求:
当服务器发现用户是开始一个新的会话时,不管用户url中是否发出了sessionID,都重新分配一个新的没有使用过的
sessionID为这次对话使用,
说明,不能使用cookie。
asp。net
采用sessionID放在URL中的模式,如果session过期后,当用户还是用原来过期的sessionID放在URL中
访问服务器时,服务器会自动接受这个sessionID,并就将这个sessionID作为新对话的id。
例如:
一个过期的sessionID是rm1bdu55wfvfubza1u0fo0ua,用户重新对服务器请求,发出链接为
http://localhost/(rm1bdu55wfvfubza1u0fo0ua)/1.aspx,服务器会判断出是一个新的会话,并为这个
会话分配的id就是rm1bdu55wfvfubza1u0fo0ua,现在要求:
当服务器发现用户是开始一个新的会话时,不管用户url中是否发出了sessionID,都重新分配一个新的没有使用过的
sessionID为这次对话使用,
说明,不能使用cookie。
解决方案 »
- html多媒体标签 动态改变文件路径
- 请问ExecuteSqlTran(Hashtable SQLStringList)怎样使用
- 如何在使用Server.Transfer过程中完全隐藏参数
- 关于用用APPLICATION[]的值做相对路径出错的问题,也算三层应用(分不多,有仙则灵,呵呵)
- 如何在asp.net中用javascript创建一个表?
- 学习时遇到几个问题!
- 我是Asp.Net初学者,请部这个错误怎么回事?
- 多文件上传问题。高手请进!
- 这两段代码的意思是什么,有什么区别?
- MuliPage和TabStrip
- .net2005 如何查看页面中的组件定义的文件
- Ajax问题:UpdatePanel与updateProgress的关联???
结果另人失望的是,获得的URL中始终不会有sessionID出现,例如用户发的请求是
http://localhost/(rm1bdu55wfvfubza1u0fo0ua)/1.aspx,而通过Request.URL获得的却是
http://localhost/1.aspx,郁闷.
SESSION里的数据已经被清理掉了.无所谓啊...
2 如果有一个人用了SESSIONID 那么,就不存在SESSIONID过期这一说.3 要防止冒用SESSIONID 那么可以在生成SESSIONID时,加上客户端IP 客户端agent 等信息进行设置.
有这两点基本上可以滤掉大部分情况了.但对于同一内网,的情况,需要再做架构设计.
如SESSION初始化时,设置COOKIE(禁用COOKIE)时,可以在GET里加上一个随机数,这个数一值伴随SESSIONID 以验证SESSIONID.
当然,别人分析出了你的随机数,理论上,也存在冒用SESSION的可能性....
关键点,利用asp.net的规定,当访问的地址是绝对地址时,重新分配sessionID这个特性,
巧妙实现每次用户登陆,绝对是新的未分配过的对话.