2012-10-30 48 views
2

我嘗試過設置cookie,但問題出在設置域。當我嘗試在setcookies()中設置域時,它沒有設置任何值。沒有域設置它會自動設置我的域名(例如本地主機)。如何在setcookies中設置域()

如果我使用任何.com它會默認設置它,但我不能在Cookie中設置域。

任何人都可以幫助我在php中設置域。

setcookie('session_id',$sessionID[1],strtotime($expireTime[1]),'/',$domain); 

當我將它設置爲無域時,它將cookie設置爲我的本地主機或我所在的域。

任何人都可以幫助我。

回答

1

您無法設置歸因於您所使用的域以外的Cookie。這通常被認爲是一件好事。

+0

如果我必須在域名中設置Cookie,那實際上不是我的域名? – rohitarora

+0

你只是不能從你的域名更改別人的域的cookie。你應該考慮爲你的工作找到另一種解決方案。 – Buksy

1

如果您將域名設置爲setcookie,您會在標題中看到PHP已將cookie設置爲正確的域名。但是,出於安全原因,您的瀏覽器會忽略它。

如果您需要爲自動登錄等設置cookie,則需要使用您的hosts file來讓您的瀏覽器相信您所在的域與您要設置cookie的域相同。

例子:

如果添加:

127.0.0.1 autologin.amazon.co.uk 

在你的hosts文件,並轉到http://autologin.amazon.co.uk,而不是http://localhost,您的遠程腳本將被允許設置任何.amazon.co.uk的cookie。

+0

但如果我不在本地主機上,我可能會使用任何其他域名?thx爲您的答案btw :) – rohitarora

+0

@ user1487459您爲什麼要爲其他域設置cookie?由於安全原因,你不能那樣做。如果您需要這樣的事情,請解釋爲什麼,也許人們可以提供一個可行的解決方案。 – CodeCaster

+0

我猜他想更改他不屬於他的域名的域名的cookie。如果他想在個人用途的瀏覽器中更改域名,我會建議使用javascript控制檯。或者在瀏覽器中編輯Cookie,因爲許多瀏覽器都有此選項。 – Buksy

相關問題