不同浏览器Cookie有效期问题

不同浏览器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文件自动销毁了,所以无法登录。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/112697.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • ubuntu samba share 共享 windows linux

    ubuntu samba share 共享 windows linux

  • 前端权限导致的跳转出现404错误

    前端权限导致的跳转出现404错误问题:管理员与超级管理员访问编辑文章时出现,超管可以正常编辑,而管理员出现跳转404问题。解决:该问题花费快一天,首先以为是后端的权限配置有问题,将后端的权限重新配置,但都没有作用。无解。 后来发现是前端配置了响应的权限导致的。先模仿着原有代码将问题解决了。 前端不是很清楚,后面有时间再琢磨个人博客地址:http://ganshuo8.com/…

  • 一次SQL查询优化原理分析(900W+数据,从17s到300ms)

    一次SQL查询优化原理分析(900W+数据,从17s到300ms)

  • 苹果套路直播计算机隐藏版,套路计算器app,套路计算器隐藏官网版app预约 v1.0 – 浏览器家园…

    苹果套路直播计算机隐藏版,套路计算器app,套路计算器隐藏官网版app预约 v1.0 – 浏览器家园…套路计算器隐藏官网版app软件是一款最新人气计算器玩法,大家可以在这里发现非常多有趣的玩法,超级适合大家进行整蛊以及活跃气氛适应的,计算器里面会有各种好玩有趣的公式,帮你计算出各种想要的问题回答,非常类似于星座方面的玩法,说不定可以帮你解决你心中的各种问题疑问,如果你想尝试的话,就赶紧下载体验吧。套路计算器隐藏官网版app软件特色:1、玩法非常简单,输入自己的想要提的问题,就可以自动算出结果!2、…

  • Cinemachine(一)VirtualCamera和Brain的简单介绍「建议收藏」

    Cinemachine(一)VirtualCamera和Brain的简单介绍「建议收藏」https://zhuanlan.zhihu.com/p/103584975简介Cinemachine是Unity在2017版本推出的一套处理Camera的组件。利用Cinemachine我们可以不通过敲代码就实现很多摄像机功能,例如目标跟随,镜头切换等等。官方文档:https://docs.unity3d.com/Packages/com.unity.cinemachine@2.6/manual/index.html我们可以通过PackageManager来安装C…

  • ssl服务器原理,SSL的工作原理[通俗易懂]

    ssl服务器原理,SSL的工作原理[通俗易懂]原标题:SSL的工作原理SSL的工作原理中包含如下三个协议:1、握手协议握手协议是客户端和服务器用于与SSL连接通信的第一个子协议。握手协议包括客户端和服务器之间的一系列消息。SSL中最复杂的协议是握手协议。该协议允许服务器和客户端相互进行身份验证,协商加密和MAC算法,以及保密SSL密钥以保护SSL记录中发送的数据。在应用程序的数据传输之前使用握手协议。2、记录协议在客户端和服务器握手成功之后…

    2022年10月30日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号