我创建了一堆用于身份验证的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)
我似乎无法让它发挥作用。
答案 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域
创建了cookiesetcookie("auth", "blahblah", time() + 123, "/", "localhost.com")
这允许我从http://uk.localhost.com(或几乎任何子域)访问身份验证Cookie。