公司网站服务器是Linux的,服务器端的时间延迟了很多接近两小时,结果设置cookie过期时间为一小时后谷歌和IE浏览器都登录不了(登录判断cookie),只有firefox可以登录,时间调整后就正常了。找到下面这边文章去检查了下服务器时间,果然。。

转载:http://www.yzzmf.com/html/qianduankaifa/jsjq/2011-12-21/2311.html

IE、谷歌Cookie记录失败,火狐成功(IE和Firefox下的Cookie兼容问题)

昨天项目迁移了测试服务器,之后奇怪的问题出现了。

IE、谷歌无法登陆,火狐可以登陆。
这个项目先后部署过两个测试服务器、一台正式服务器,登陆都是正常的,这次却突然出现这种奇怪的问题,很是纠结。
通过查看代码,逻辑很清晰,不应该有问题。
跟踪浏览器信息,发现登陆逻辑正常执行,最后进行了页面跳转,之后又跳转回来,那么应该是权限验证失败。
没有抛出无权限提示,那么只能是读取Cookie失败。
检查IE、谷歌的Cookie记录,发现登陆页面没有完成Cookie写入,这种简单的Cookie操作,.NET不应该会有问题的。
开始百度,百度垃圾,没找到想要的。
开始谷歌,找到一个差不多的(服务器的时间和时区设置可能影响Cookie,IE而言,Cookie的有效时间段是理解为客户端的时间与服务器端时间的间隔,对于FireFox而言,Cookie的有效时间完全由服务器端的时间决定
修改本机时间为昨天,测试,登陆成功,基本确定服务器问题。
找运维,检查服务器时间时区设置,果然是这个问题。
修改,登陆成功!
IE和Firefox下的Cookie兼容问题 .
用Firefox可以登录,使用IE后,部分可以登录,部分不可以登录。最初是怀疑IE的Cookie功能没有打开引起的,测试到最后这个原因也排除了。
既然是通过Cookie实现SSO,那认证必然是保存在Cookie中,Cookie文件就是保存在本地的缓存目录下(firefox下的Cookie是加密的,查不到Cookie文件),但是奇怪的是IE登录后,缓存目录下根本没有发现生成的Cookie文件,这就是不能登录的根本原因。
为什么没有生成Cookie文件呢,要不没有生成,要不生成了又被IE销毁了。前者不可能发生,如果不生成Cookie,那为什么有些浏览器行,firefox更是全部可以,只能怀疑第二个原因,Cookie是被IE自动销毁了,IE销毁Cookie是根据Cookie的生命期,例如,Cookie是2009-01-01 01:00:01生成的,有效时间是5个小时,那到了2009-01-01 06:00:01后,IE就会销毁此Cookie文件。对于IE而言,Cookie的有效时间段是理解为客户端的时间与服务器端时间的间隔,而对于FireFox而言,Cookie的有效时间完全由服务器端的时间决定,Firefox的cookie不依赖于服务器的时间,可见,FireFox是充分考虑到了服务器端与客户端的时差问题。
立即检查系统的时间,发现系统时间和服务器没有差别,有一点纳闷,影响时间的还有一个时区(timezone),果然原因找到,时区设定错误。时区设定不正确也会影响IE对Cookie生命期的计算,因为Cookie的生命期是基于GMT计算的。
原因总结:没有登录成功的IE,是因为没有设定正确的时区和时间,导致IE错误将保存认证信息的Cookie文件自动销毁了,所以无法登录。

不同浏览器Cookie有效期问题相关推荐

  1. thinkphp框架之后台登录页面cookie有效期设置

    目前开始学框架了,发现蛮有意思的,可能是由于人性天生对未知事物的好奇, 居然感到乐趣丛生,可是也感觉要学的东西实在太多压力山大: 今天就碰到个后台登录页面设置cookie有效期的小问题,本来蛮简单的, ...

  2. 简单封装浏览器 cookie 工具类

    版权声明:本文首发 http://asing1elife.com ,转载请注明出处. https://blog.csdn.net/asing1elife/article/details/8265571 ...

  3. IE浏览器Cookie信息提取工具Galleta

    IE浏览器Cookie信息提取工具Galleta 浏览器Cookie中保存着用户访问网站的各项敏感信息,如用户登录凭证.提取这些信息后,就可以以该用户的身份访问对应的网站.为了方便信息获取,Kali提 ...

  4. php服务器怎么设置cookie,php服务器如何清除浏览器cookie

    php服务器清除浏览器cookie的方法:1.设置cookie的过期时间:2.设置cookie的值为空,代码为[setcookie($cookiename, '') setcookie($cookie ...

  5. java怎么获取ie浏览器的cookie,IE8 浏览器Cookie的处理

    摘要:这篇JavaScript栏目下的"IE8 浏览器Cookie的处理",介绍的技术点是"cookie.ie8.浏览器.浏览.处理",希望对大家开发技术学习和 ...

  6. cookie分号后面没有值_浏览器Cookie介绍

    Web应用程序是使用HTTP协议传输完成的.HTTP协议是无状态的协议.当数据交换完毕以后,客户端与服务器端的连接就会关闭.当再次交换数据的时候需要重新建立新的连接.这就意味着服务器无法从连接上跟踪会 ...

  7. php: 远程操作浏览器cookie存储入门

    本公众号,之前写过一个 js操作 cookie 的教程 这次写一个 php部分远程操作浏览器cookie存储 一.cookie理解,其实就是 浏览器的 一个本地存储,不过这个本地存储,在http握手的 ...

  8. 转:python提取浏览器Cookie

    在用浏览器进行网页访问时,会向网页所在的服务器发送http协议的GET或者POST等请求,在请求中除了指定所请求的方法以及URI之外,后面还跟随着一段Request Header.Request He ...

  9. javaweb清除浏览器cookie

    javaweb 清除浏览器cookie Cookie[] cookies = request.getCookies();for (Cookie cookie: cookies) {if (" ...

最新文章

  1. 热力图和相关系数分析
  2. 一位中国博士把整个CNN都给可视化了,可交互有细节,每次卷积ReLU池化都清清楚楚...
  3. 嵌入式Linux上通过boa服务器实现cgi/html的web上网【转】
  4. html点击弹出iframe,JavaScript:关于跨iframe弹窗
  5. 《社交网站界面设计(原书第2版)》——3.9 使用生命周期
  6. matlab程序中for,matlab中的for循环
  7. Oracle物化视图的简单使用
  8. oracle union orderby,Oracle中union 和 order by 的联用
  9. nginx集群,带负载均衡(监听多个端口),超详细,轮询分发
  10. 十大简单易用的免费在线HTML编辑器
  11. ROS-moveit!仿真出现问题:Unable to identify any set of controllers that can actuate the specified
  12. Connection could not be established with host smtp.163.com [Connection timed out #110]
  13. android微信运动页面开发,微信小程序仿微信运动步数排行(交互)
  14. java学到什么程度可找工作_Java学到什么程度可以找工作
  15. 矩阵笔记1:矩阵分析(第三版)-史荣昌-第一章:线性空间和线性变换
  16. C/C++代码混淆器
  17. 国内哪家云服务器最便宜?国内主流三大云厂商的价格差异
  18. 英特尔固态硬盘测试软件,AS SSD测试:IOPS值高达11万_Intel 520_固态硬盘评测-中关村在线...
  19. 集群环境下,谁偷走quartz配置的定时任务
  20. 新电脑重装系统好吗?电脑重装系统的好坏

热门文章

  1. 使用 Python 和 OpenCV 构建 SET 求解器
  2. 一文速览机器学习的类别(Python代码)
  3. 快速上手微软 “群策 MARO” 平台,打造简易的共享单车场景
  4. 湘苗培优 | 从入门到精通
  5. 6大理由,告诉你为什么这个大会你不能错过! | 文末有福利
  6. 对标Mobileye!百度Apollo公布L4级自动驾驶纯视觉解决方案Apollo Lite
  7. 高通与苹果宣布“复合”,英特尔黯然退场 | 极客头条
  8. 百万人才工程创新大讲堂开课啦!
  9. Mask R-CNN 源代码终上线,Facebook 开源目标检测平台—Detectron
  10. 百度最近开源了分布式配置中心,名叫BRCC