IE无法获得cookie,ie不支持cookie的解决办法,火狐支持

发现用自己的电脑 IE7.0总是无法正常登录,别的电脑都可以。

每次登录后又被重定向回了登录页面。

可换成Firefox和google chrome 却一切OK,后来还把浏览器升级到IE8.0 问题依就。不由得想起,自己以前有

次也遇到过就种情况,后来实在没时间找原因,直接把系统还原了。还原后就对了。 这次又遇到,郁闷了。
初步推断应该是Cookie的问题。 在网上查了些资料,把所有现有Cookie删除,又将“隐私”选项设为“接受所

有Cookie”后再试。问依旧。
没办法,只能抓包了。 谁知一看就发现问题了:

expires=Tue,1-Jul-2009 14:23:00 GMT; path=/

Cookie的过期时间好像不对,今天明明是7月8号…… 哦,终于想起了,昨天晚上我好像为了做什么,把我的机

器的日期改了下,后来就忘了。

但是为什么用Firefox没有问题呢?
搜索了下,看到了一篇IE 与FireFox 对Cookie时间的不同理解这篇文章后恍然大悟

对于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日,原来如此,终于把这个烦人的问题的原因找到了。

时间: 2024-10-05 14:44:36

IE无法获得cookie,ie不支持cookie的解决办法,火狐支持的相关文章

php中curl不支持https的解决办法

在php程序中使用curl去访问https站点时,报错:Protocol https not supported or disabled in libcurl 该错误信息表示php当时编译时使用的curl库不支持https, 验证方法为你的curl安装目录/bin/curl  -V  显示如下:Protocols: dict file ftp gopher http imap pop3 rtsp smtp telnet tftp这表示curl是不支持 https的 为了支持https,需要下载源

谷歌浏览器Chrome不再支持showModalDialog的解决办法

问题重现 弹出窗口编码: JavaScript 0 1 2 3 4 5 6 7 var obj = new Object(); var retval = window.showModalDialog("request.aspx",obj,"dialogWidth=500px;dialogHeight=300px"); if (retval == null) { ... }else { ... } 浏览器异常: Shell 0 1 Uncaught TypeError

使用的 SQL Server 版本不支持数据类型“datetime2”解决办法

错误原因,在使用ado.net entity的时候,entity使用的数据库是sqlserver 2008,但后来实际使用中使用的数据库是sqlserver 2005 使用的 SQL Server 版本不支持数据类型“datetime2” The version of SQL Server in use does not support datatype ‘datetime2 解决办法 Open your EDMX in a file editor (or “open with…” in Vis

让IE完美支持HTML5(css3)解决办法

貌似以前与大家分享过此类问题,HTML5/CSS3那些炫丽实用的效果,真得让人很眼谗,但悲催的IE浏览器,只有IE9才支持HTML5,这让我们很失望啊,但真的就没有一点办法了吗?其实补救方法还是有的,下面介绍的几种方法,可让客户端浏览器完美支持CSS3.HTML5: 第一种方法:IE9以下版本的IE将创建HTML5标签, 非IE浏览器会忽略这段代码,因此不会发生http请求,也就不影响网页执行效率. <!--[if lt IE9]> <script> (function() { i

ie不支持getElementsByClassName的解决办法

目前可以这么解决,判断浏览器支不支持这个方法,如果支持就不管:如果不支持,就在document对象里加入getElementsByClassName这个方法,按兴趣的朋友可以了解下 if (navigator.appName == 'Microsoft Internet Explorer') { document.getElementsByClassName = function() { var tTagName = "*"; if (arguments.length > 1)

IE8不支持indexOf的解决办法

在IE8版本以下(含IE8)IE浏览都不支持数组的Indexof()方法,在使用indexOf方法前,执行一下下面的js就可以解决. 原理就是如果发现数组没有indexOf方法,会添加上这个方法. 放在脚本的上面即可 原文链接:解决浏览器不支持indexOf()方法的方案 // Production steps of ECMA-262, Edition 5, 15.4.4.14 // Reference: http://es5.github.io/#x15.4.4.14 if (!Array.p

python3使用django1.11不支持MYSQL-python的解决办法

mysql-python不支持Python3,需使用pymysql代替,pip install pymysql后,打开django的源码,cd db/bin/backends/mysql,然后将下列代码写入__init__.py import pymysql pymysql.install_as_MySQLdb()

关于IOS二维码创建、扫描的使用方式(IOS,ZBar支持64位解决办法)

在IOS开发过程中,有时需要使用到二维码扫描及二维码生成,现在介绍我自己测试并通过的方法: (一) 二维码生成方式: 需要工具:libqrencode库,QRCodeGenerator.h,QRCodeGenerator.m文件,说实话,在网上找这两个文件确实废了我不少的功夫,下面我会把详细的下载地址贴上,相信定能节省大家不少的时间. 有了以上两个文件之后你就可以将它添加到你到工程中,使用相应的接口API便可以完成相应的功能. imageview.image = [QRCodeGenerator

ie不支持getElementsByName的解决办法

在chrome下getElementsByName运行正常,可在IETester7~11下都不支持 w3c规范中getElementsByName是按着name属性进行检索的,而MS的IE却是按着id来检索.导致不能得到应该得到的Elements,为适应浏览器,我们可以做一下调整: 一.把需要用getElementsByName的name都加上id,且id和name相同.  二.用一个函数来适应浏览器,代码如下: getElementsByName:function (name) { var r