为什么我不能在 Firefox 中创建 cookie?

2021-12-21 00:00:00 firefox cookies php

我无法使用以下行创建 Firefox cookie:

I am not able to create a Firefox cookie with following line:

    setcookie("TestCookie", $value, time()+3600, "/", "localhost");

有人知道为什么吗?

我已经检查了 FF 中的设置,它接受来自第 3 方的 cookie,并在它们到期时被删除.

I have checked the settings in FF and it accepts cookies from 3rd parties and are deleted when they expire.

我现在可以用这一行创建:

I can create now with this line:

$domain = ($_SERVER['HTTP_HOST'] != 'localhost') ? $_SERVER['HTTP_HOST'] : false;
setcookie('cookiename', 'data', time()+60*60*24*365, '/', $domain, false);

但是我如何删除它?

我尝试将 + 切换为 - 但没有用.

I tried with just switching the + to - but it didn't work.

$domain = ($_SERVER['HTTP_HOST'] != 'localhost') ? $_SERVER['HTTP_HOST'] : false;
setcookie('cookiename', 'data', time()-60*60*24*365, '/', $domain, false);

推荐答案

我已经有一段时间没有使用 localhost cookie 了,但是根据 PHP 手册中的注释,'localhost' 是域参数的无效值.

It's been awhile since I worked with localhost cookies, but according to the comments in the PHP manual, 'localhost' is an invalid value for the domain parameter.

要在本地主机上设置 cookie,请改用 false.示例:

To set a cookie on localhost, use false instead. Example:

setcookie("TestCookie", $value, time()+3600, "/", false);

参见http://www.php.net/manual/en/function.setcookie.php#73107

相关文章