不可靠的SESSION

 

不可靠的SESSION

左直拳

SESSION不可靠。

按道理讲,使用Session.Abandon,当前会话就应该死翘翘,彻底消失。使用Session.Clear或Session.RemoveAll,内容也应该被铲除。但事实并非如此,在使用过程中,有时会遇到本应消失(用Abandon强行终止)或被替换了的SESSION借尸还魂,僵而不死的情况,时不时的跳出来,吓人一跳。但又不是次次如此,有时行,有时不行,直到生命期限过了才算罢休。

这些僵尸从哪来?真不知道,试了很长时间都找不到原因。

后来用了个办法改善。

存储信息的时候,设个类似ID之类的信息,分别存放在两个地方,一个是SESSION,一个是COOKIE。当读取这个会话的时候,则从会话和COOKIE中拿出ID比对,如果相符则会话合法,否则认为这个是僵尸。

之后就没有看到再有僵尸出现。

原文地址:https://www.cnblogs.com/leftfist/p/4258323.html