多个 localhost 子域的 setcookie 用法
Posted
技术标签:
【中文标题】多个 localhost 子域的 setcookie 用法【英文标题】:setcookie usage for multiple localhost subdomains 【发布时间】:2012-02-13 07:10:51 【问题描述】:我一直在我的本地主机 (xampp) 上开发一个 Web 应用程序,在那里我设置了两个子域。让我们将这些域称为 abc.localhost 和 xyz.localhost。
我在我的主机文件中设置了这两个条目以具有
127.0.0.1 abc.localhost
127.0.0.1 xyz.localhost
我还在我的 vhost 文件中设置了它们,就像正常指向不同的位置一样。
我的应用程序设置为首先通过 abc.localhost,这是我设置一些 cookie 的地方
setcookie('AUTHORIZATION', time()+3600, 0, '/', '.localhost');
setcookie('SOMEOTHERCOOKIE','here is the val',0,'/','.localhost');
然后将用户转发到 xyz.localhost。为了让用户能够访问 xyz.localhost,授权必须由 abc.localhost 设置并传递 cookie。
我尝试将“.localhost”更改为 xyz.localhost 以及我能想到的所有其他组合。离开 .也不行。
请帮我解决这个问题。谢谢!
【问题讨论】:
【参考方案1】:您不能为***域(域的最后一部分)设置 cookie。为了实现您想要的,将您的 HOST 条目更改为 abc.myproject.loc 和 xyz.myproject.loc 或类似的东西。
然后您可以为 myproject.loc 设置 cookie。
【讨论】:
我应该能够为 xyz.localhost 设置 cookie 吗? 是的,你可以,但是abc.xyz.localhost等可以访问它,但abc.localhost不能。但是 localhost 是一个非常特殊的域,因此在您的浏览器中可能会对其进行一些更特殊的处理。以上是关于多个 localhost 子域的 setcookie 用法的主要内容,如果未能解决你的问题,请参考以下文章