在localhost

时间:2016-07-30 00:00:02

标签: php cookies

我创建了一堆用于身份验证的Cookie,网站的一部分允许用户导航到网站的英国部分。通过在域中具有uk前缀来启用此功能。 (例如uk.domain.com)。

我基本上有一个小脚本,检查子域名是否被称为UK,然后我提供英国内容。

如何制作,以便domain.com上的所有Cookie转移到uk.domain.com?

我试过......

...将cookie设置为公正的根域

 setcookie("auth", "blahblah", time() + 123, "/", "localhost")

...在域的开头添加一个点

 setcookie("auth", "blahblah", time() + 123, "/", ".localhost")

...在两个域上创建cookie

 setcookie("auth", "blahblah", time() + 123, "/", "localhost")
 setcookie("auth", "blahblah", time() + 123, "/", "uk.localhost")

...创建没有任何域或路径的cookie。

 setcookie("auth", "blahblah", time() + 123, "/")
 setcookie("auth", "blahblah", time() + 123)

我似乎无法让它发挥作用。

1 个答案:

答案 0 :(得分:2)

发现您无法将localhost设置为chrome上的cookie。它必须是注册表控制的域,而不是IP或Intranet主机名。

我找到了一种解决方法,基本上将localhost转换为域名。

我将其添加到主机文件(c:\ windows \ system32 \ drivers \ etc \ hosts) -

127.0.0.1    localhost.com    
127.0.0.1    uk.localhost.com    

然后使用localhost域

创建了cookie
setcookie("auth", "blahblah", time() + 123, "/", "localhost.com")

这允许我从http://uk.localhost.com(或几乎任何子域)访问身份验证Cookie。