对于IE而言,Cookie的有效时间段是理解为客户端的时间与服务器端时间的间隔,即如果Cookie的时间设置为 time()+300,那么在 IE里,Cookie有效的条件是:客户端时间(验证Cookie时间)-服务器端时间(定义Cookie的时间)<300(秒);所以这种 情况下,当我们网站上的验证码脚本被执行时,Cookie就已经过期了,所以验证码失效。
而对于FireFox而言,Cookie的有效时间完全由服务器端的时间决定,以上面的假设为例,即Cookie有效的条件是:服务器端时间T2 (验证Cookie时间)-服务器端时间T1(定义Cookie的时间)<300(秒)。所以在FireFox里,当打开系统登录页时,我输入用户 名、密码及验证码的时间肯定不会超过300秒,自然就可以正常登录。Firefox的cookie不依赖于服务器的时间,可见,FireFox是充分考虑 到了服务器端与客户端的时差问题。
经过就件事,不由于联想到最近公司刚上的服务器,程序也遇到此种情况,ie有问题,Firefox没问题,而且在服务器上运行网站也没问题,后来 忙,不想重装IIS,都是自己把程序改了些。勉强可以用。莫非也是服务器的时间不对,马上远程连接上服务器,一看服务器的日期:7月6日,今天明明是7月 8日,原来如此,终于把这个烦人的问题的原因找到了。
搞了一早上终于明白了。。。。原来是我电脑的时间出了点问题
转自:http://minchao.cn/post/516.html