asp Session 串号的解决方法

昨天发布一个项目出现了Session串号的问题,就是用户A登录成功后,在刷新的过程中会出现用户B的信息,并可以操作B用户的所有信息,相当时登录了B的账号。

这是问题出现后吓我一跳,怎么会出现这个情况呢?

随后当然是指教度娘了,原来这个问题不是只有我遇到,很多的朋友都出现,那他们是怎么解决的呢?

看到一篇文章就给出了解决的办法:http://www.cnblogs.com/end/archive/2011/12/17/2291002.html

 

我使用了sessionid+用户名的方式,没有采用IP,是因为现在不少上网的用户都使用了代理IP,他们的IP是随时都会变化的,而且有些联通或铁通的网络,IP也会变化,考虑到这方面就使用用户名来生成hash了。

在用户登录时,生成sessionid+username的hash值,保存到Cookie里。

然后在用户操作的每一页内读取Cookie里的hash,与当前的sessionid+username的hash进行比较。

如果相同则表明该session是合法的,不同则表示该session和登录时的sessionID或username不一样。

posted on 2016-03-21 21:33  龙烟  阅读(1212)  评论(0编辑  收藏  举报

导航