我对Cookie的价值存在问题,只有在使用Chrome时才会出现此问题,但在Firefox或IE上则不会。
我有以下代码,每次用户登录时都会运行:
function randomUserKey($length)
{
$random = openssl_random_pseudo_bytes($length);
$key = bin2hex($random);
return $key;
}
/*SET COOKIE*/
$UserKey= randomUserKey(32);
$expiration= time() + 365*24*3600;
setcookie('CookieID', $UserKey, $expiration, NULL, NULL);
//testing the value of $UserKey in the console
echo'<script type="text/javascript">console.log("'.$UserKey.'");</script>';
/************/
现在,如果我将控制台中$UserKey
的值与响应标头中的cookie值进行比较,将其作为FF和IE中的X值。这就是我想要的。
但在Chrome上,控制台中的值为X,响应标头中的值为Y.如果我查看请求标头,则将cookie作为正确的值:X。
在FF或IE上,请求标头中的cookie作为先前创建的cookie的值(用户的先前连接)。这是正确的行为,我期待的行为。用户附带一个cookie&gt;我检查了值&gt;它已经过验证&gt;用户已登录并获取新cookie。
所以我确实在Chrome上遇到了问题,但我无法弄清楚它的来源。
感谢您提供任何帮助,如果需要,我可以提供更多代码。
答案 0 :(得分:0)
我的一位朋友在这里找到答案:What to do with chrome sending extra requests?
Chrome正在发送额外请求,显然是出于冲浪速度的目的。
我的问题来自这个特殊的html标签:
<link rel="icon" type="image/png" href=""/>
空的href就是问题所在。我刚刚删除了标签,但我想放一个有效的图片网址也一样。