首页/ 填坑/ 文章详情

Cookie 值在IE系浏览器下莫名其妙掉失

PHP Cookie IE浏览器 掉失 命名规范 发布于 2021-04-01

一次常规性的登陆,在IE浏览器触发异常:登陆请求成功,登陆页面正常跳转,接着页面跳转回到登陆页面,登陆失败,黑人问号.jpg。

在Chrome、Firefox、Opera等浏览器下操作,均正常,唯独在IE系列浏览器出现异常。经自检,登陆成功后,PHP会使用Cookie缓存登陆信息,记录已经成功登陆的用户。现在问题出现在Cookie身上,直接print_r($_COOKIE),观察其值。

Cookie值掉失现象:

- 在IE浏览器直接输入登陆后的URL, Cookie值显现
- F5刷新当前页面,Cookie值全部掉失

发现只有直接输入URL,Cookie值才会显现,其它时候,输出一空白。说明Cookie的值是存在的,赋值正常,在不知道的情况下突然掉失了值。更奇怪的是,登陆代码使用公司封装好的代码,在另一个项目中,登陆表现正常,不会出现Cookie掉失值的情况。

如此不正常的表现,推测出应该不是代码自身引起的问题。带着疑问搜索,总算找到引发Cookie值掉失的原因。

A "name" (Net, Host, Gateway, or Domain name) is a text string up to 24 characters drawn from the alphabet (A-Z), digits (0-9), minus sign (-), and period (.) .

总的来说,在创建虚拟域名时,犯了个低级的错误:域名由26个字母、数字、减号和句号组成。当前的域名含有(_)下划线,在IE系的浏览器下,域名属于命名不规范,Cookie值才会掉失,这也解释得通另一个项目能正常运行的原因。

参考文献:

RFC 952

文章评论0 records

最新 最早

0

最新评论Latest comments

凡心的仙人凡心的仙人 03-18 14:35
谢谢你了!
rantrismrantrism 2023-04-03 11:27
您好~我是腾讯云开发者社区运营,关注了您分享的技术文章,觉得内容很棒,我们诚挚邀请您加入腾讯云自媒体分享计划。完整福利和申请地址请见:https://cloud.tencent.com/developer/support-plan 作者申
唐牛才是食神唐牛才是食神 2022-06-15 10:51
(*°▽°*)八(*°▽°*)♪,解决了
唐牛才是食神唐牛才是食神 2022-06-15 10:49
发现不得了的东西,今晚回去好好研究下...
胖螺胖螺 2022-02-04 00:58
( ゜- ゜)つロ 在写了在写了。看到也有些感慨。因为站长前年在我原博客的留言,让我毅然选择去深造,选择读研,曾经我想过挺多东西的,还是自己本专业的适合我自己。在这先表达感谢。新年快乐!