0

我们有 2 台网络服务器,一台安全的,一台正常的。

是否可以设置这样的cookie

setcookie("basket[id]", $newID, time()+60*60*24, "/", SITE_URL, 0, true);  
setcookie("basket[id]", $newID, time()+60*60*24, "/", SECURE_SITE_URL, 1, false);

在哪里

SITE_URL = www.sitename.com  
SECURE_SITE_URL = xxxxx.securesitename.com

凯尔

4

2 回答 2

1

设置 Cookie

使用setcookie,您可以设置域参数以指示 cookie 的可用位置。要使 cookie 在 example.com 的所有子域上可用,您需要将其设置为“.example.com”。这 。不是必需的,但使其与更多浏览器兼容。

只要您的服务器被不同的子域引用,您就可以相应地设置您的 cookie。

安全参数

安全,表示 cookie 只能通过来自客户端的安全 HTTPS 连接传输。

在不同的域上设置 Cookie

服务器不能为它不是其成员的域设置 cookie。

发出 cookie 的服务器必须是它​​尝试在 cookie 中设置的域的成员。也就是说,名为 www.myserver.com 的服务器无法为域 www.yourserver.com 设置 cookie。

双击是如何做到的

该规则的一个例外是广告代理商双击。当他们从他们的服务器加载到其他人的网站时,谁设法通过将带有图像请求的 cookie 打包到您的 PC 中而无需访问特定的网站。

于 2010-02-17T11:12:03.800 回答
1

您不能为当前域或其超集以外的域设置 cookie(例如example.comfoo.example.combar.example.com的超集)。这意味着第二个Set-Cookie将被浏览器拒绝。

一种解决方案是将主域的子域用于安全域,例如secure.example.com然后在www.example.comsecure.example.com.example.com都可以使用cookie 集。

于 2010-02-18T08:17:30.680 回答