2012-01-31 35 views
1

我試圖從「example.com」設置一個cookie,以便它只能訪問「site.example.com」。問題是由於某些原因,這不起作用。 例如,下面的代碼工作正常:使用php設置子域的cookie將不起作用

setcookie('my_var', "hello", time()+3600, "/", 'example.com'); 

也就是說,來自example.com跑的時候,那麼我就可以從site.example.com看到「my_var」的cookie。但是,下面的代碼不會設置Cookie:

setcookie('my_var', "hello", time()+3600, "/", 'site.example.com'); 

(同樣沒有,如果我在前面加上一個點,就像 '.site.example.com')

使用PHP 5.3.8和鉻

+0

如果您檢查頭對你可能會發現你的要求他的cookie ader正在發送,但您的瀏覽器正在忽略它 – 2012-01-31 15:23:22

+2

您無法爲子域設置cookie,只能爲相同或超級域設置Cookie。 – Gumbo 2012-01-31 15:24:14

+1

@gumbo:你的意思是我可以從site.example.com設置一個cookie,使其可以訪問example.com,但不能以其他方式訪問? – periklis 2012-01-31 15:26:19

回答

-1
header("Set-Cookie: cookiename=cookievalue; expires=Tue, 12-Jan-2016 23:39:49 GMT; path=/; domain=subdomain.example.net"); 
+1

儘管這段代碼可能有助於解決問題,但它並沒有解釋_why_和/或_how_它是如何回答問題的。提供這種附加背景將顯着提高其長期教育價值。請[編輯]您的答案以添加解釋,包括適用的限制和假設。 – 2016-08-24 14:03:31