2012-10-30 18 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

相关问题