如何使用 $_COOKIE 或任何其他方式检测特定域中的 cookie


How to detect cookie in specific domains using $_COOKIE or any other way

大家好,这与我之前发布的一个问题非常相似。 但是现在我发现了它背后的问题......当我使用称为 cookieset 的脚本设置 cookie 时.php

setcookie("atid", 1234, time() + 60 * 60 * 24 * 365, "/", ".mydomain.com");

并显示在浏览器中

Name    atid
Content 1234
domain  mydomain.com

在另一个实例中,我以这种方式设置了一个cookie

setcookie('atid', '1234', time() + 60 * 60 * 24 * 365, "/", "localhost");

并显示在浏览器中

Name    atid
Content 1234
domain  localhost

但是当我尝试像这样从另一个脚本中检索它时

echo 'value is: ' . $_COOKIE['atid'];

只有当我通过将域名作为本地主机来创建cookie时,才会显示正确的值,但是当我给出时,我的特定域名$_COOKIE['atid'];没有检测到cookie,而是给出了错误

undefnied index: atid in.........

任何人都可以帮助我检测我的域名上的cookie

Cookie 存储在客户端,即浏览器上。此外,Cookie 是特定于域的,子域可以访问父域的 Cookie。例如:如果您为域 test.com 创建了cookie,则 www.test.com,demo.test.com 等可以访问该cookie。

您无法使用您的域名访问 cookie 的原因是,您可能已经使用 localhost 创建了 cookie,即您的第二个代码setcookie('atid', '1234', time() + 60 * 60 * 24 * 365, "/", "localhost");并尝试从您的域名访问它。从上面的代码中删除本地主机,然后尝试从您的域名访问它。

使用此代码:

setcookie('atid', '1234', time() + 60 * 60 * 24 * 365, "/");

让我知道问题是否仍然存在。