1

我在 php 中过期 cookie 时遇到问题。这是我的代码:

<?php
setcookie('reitinvestor_user', 'null', time()-3600,'',$_SERVER['SERVER_NAME']);
setcookie('reitinvestor_pass', 'null', time()-3600,'',$_SERVER['SERVER_NAME']);
echo '<pre>'; print_r($_COOKIE); echo '</pre>';
exit;
?>

每次我点击刷新,我都会得到这个结果:

Array
(
    [_csuid] => 47dae7b6cd2d9e89
    [reitinvestor_user] => john
    [reitinvestor_pass] => 1f3870be274f6c49b3e31a0c6728957f
    [PHPSESSID] => 6027e370abad115e35b54b0be76befc8
)

我可以用不同的键值做一个 setcookie,也可以让它们过期。我似乎无法为 reitinvestor_user 和 reitinvestor_pass 做这件事。怎么了?

4

1 回答 1

2

您是否检查过您是否在相同的域和路径中以更改 cookie?

[...] 如果以下任何一种情况属实,用户代理将拒绝 cookie(不应存储其信息):

  • Path 属性的值不是 request-URI 的前缀。

  • Domain 属性的值不包含嵌入的点或不以点开头。

  • 请求主机的值与域属性的域不匹配。

  • request-host 是一个 FQDN(不是 IP 地址),格式为 HD,其中 D 是 Domain 属性的值,H 是包含一个或多个点的字符串。

RFC 2109

于 2009-03-06T20:28:13.357 回答