Chrome上的Cookie值问题

时间:2016-08-30 13:47:56

标签: php google-chrome cookies header setcookie

我对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上遇到了问题,但我无法弄清楚它的来源。

感谢您提供任何帮助,如果需要,我可以提供更多代码。

1 个答案:

答案 0 :(得分:0)

我的一位朋友在这里找到答案:What to do with chrome sending extra requests?

Chrome正在发送额外请求,显然是出于冲浪速度的目的。 我的问题来自这个特殊的html标签: <link rel="icon" type="image/png" href=""/> 空的href就是问题所在。我刚刚删除了标签,但我想放一个有效的图片网址也一样。