当cookie设置在不同的子域上时,如何从php读取cookie


how to read a cookie from a php, when the cookie was set on a different sub-domain?

我有两个子域:同一域的"secure"answers"downloads":"10.0.50.18"。

在"下载"时,我使用jQuery设置了一个cookie,如下所示:

$.cookie("width", w, {domain: "10.0.50.18"});

在"安全"上,我正试图阅读这样的cookie:

$width = $_COOKIE["width"];

但它并不奏效。

有人能帮忙吗?非常感谢。

Cookies不会跨子域工作,除非您在创建cookie时指定。你需要做这样的事情:

$.cookie("width", w, {domain: ".mydomain.com"});

这将允许mydomain.com的所有子域共享cookie。

很抱歉,无法像您尝试的那样使用来自不同域的cookie。你可以在这里阅读一些有趣的解决方案建议跨域Cookie

您可以将cookie设置为IP地址,但不能使用通配符。

domain .10.0.50.18 is not valid
domain 10.0.50.18 is valid

IP地址不像DNS域那样容易遵循组织边界。一个数字比web服务器的IP地址少一个或多一个的IP地址可能不一定位于同一组织中。出于安全原因,不允许在cookie的域属性中对IP地址进行任何形式的随意梳理。这有效地消除了域属性对任何形式的IP地址的有用性。

发件人http://www.ietf.org/rfc/rfc2109.txt

完全限定主机名(FQHN)表示完全限定的主机的域名(FQDN)(即,完全指定的域以顶级域(如.com或.uk)结尾的名称,或主机的数字互联网协议(IP)地址。完全首选合格域名使用数字IP地址强烈劝阻