微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 浏览器:刷新时Cookie丢失

我在Chrome浏览器中遇到了我的应用程序的奇怪行为(其他浏览器没问题).当我刷新页面时,cookie正在正确发送,但间歇性地浏览器似乎没有在一些刷新时传递cookie.

这是我设置我的cookie的方式:

$identifier = / some weird string /;
$key = md5(uniqid(rand(),true));
$timeout = number_format(time(),'.','') + 43200;
setcookie('fBoxauth',$identifier . ":" . $key,$timeout,"/","fBox.mysite.com",0);

这是我用于页面标题内容

header("Last-Modified: " . gmdate("D,d M Y H:i:s") . " GMT");
header("Cache-Control: no-cache,must-revalidate"); // HTTP/1.1
header("Expires: Thu,25 Nov 1982 08:24:00 GMT"); // Date in the past

您是否在此处看到可能影响Cookie处理的任何问题?谢谢你的任何建议.

编辑-01:

似乎cookie没有发送一些请求.这种情况间歇性地发生,我现在看到所有浏览器的这种行为.有人遇到过这种情况吗?是否存在不随请求发送cookie的情况?

编辑-02:

以下是HTTP标头:

06002

请求标题

06003

响应标题

06004

再次感谢,任何指南.

在看到你的标题信息后,我唯一能想到的是PHP在你设置cookie之前输出了一些东西.如果是这种情况,setcookie应返回false并且您将收到警告“无法发送会话Cookie – 已发送的标头”正如Bart S.建议的那样,打开error_reporting(E_ALL)并尝试输出setcookie的返回值以验证这一点事实并非如此.

另外,尝试在基本情况下使用setcookie只使用名称和值,然后再次检查响应头.然后删除除了setcookie之外的所有代码,如果有效,请使用除法和征服将所有代码带回来:)

原文地址:https://www.jb51.cc/php/137385.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐