我创建了一堆用于身份验证的 cookie,网站的一部分允许用户导航到该网站的英国部分。这是通过在域中使用 uk 前缀来实现的。(例如 uk.domain.com)。
我基本上有一个小脚本,用于检查子域是否称为 UK,然后我提供 UK 内容。
我怎样才能让 domain.com 上的所有 cookie 都转移到 uk.domain.com?
我试过了 ...
... 将 cookie 设置为根域
setcookie("auth", "blahblah", time() + 123, "/", "localhost")
Run Code Online (Sandbox Code Playgroud)
... 在域的开头添加一个点
setcookie("auth", "blahblah", time() + 123, "/", ".localhost")
Run Code Online (Sandbox Code Playgroud)
...在两个域上创建 cookie
setcookie("auth", "blahblah", time() + 123, "/", "localhost")
setcookie("auth", "blahblah", time() + 123, "/", "uk.localhost")
Run Code Online (Sandbox Code Playgroud)
... 创建没有任何域或路径的 cookie。
setcookie("auth", "blahblah", time() + 123, "/")
setcookie("auth", "blahblah", time() + 123)
Run Code Online (Sandbox Code Playgroud)
我似乎无法让它发挥作用。
发现您无法将 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
Run Code Online (Sandbox Code Playgroud)
然后使用 localhost 域创建 cookie
setcookie("auth", "blahblah", time() + 123, "/", "localhost.com")
Run Code Online (Sandbox Code Playgroud)
这允许我从http://uk.localhost.com(或几乎任何子域)访问身份验证 cookie 。
| 归档时间: |
|
| 查看次数: |
1727 次 |
| 最近记录: |