【问题标题】:Cookie share with subdomain nodejs httponly cookieCookie 与子域 nodejs httponly cookie 共享
【发布时间】:2016-05-18 01:31:44
【问题描述】:
我正在使用 express-session 模块来维护会话。我有两个应用程序。我想与这个应用程序共享 cookie,父应用程序在 example.com 中运行,子应用程序在 child.example.com 中运行。我使用它在子应用程序中设置的 express-session 设置 httponly cookie。我可以在 chrome 调试器的资源选项卡中验证该 cookie。
网络标签:
第一次调用子域时:
它像请求中设置的“http://www.child.example.com”cookie 一样加载。而 url 被重定向到服务器 IP 。之后 cookie 不可用。
like http://13.25.230.2/index cookie 不可用
【问题讨论】:
标签:
node.js
cookies
express-session
【解决方案1】:
当你发送Set-Cookie这个HTTP头时,你可以specify the domain它是为了。
Set-Cookie: name=value; domain=example.com
域必须是托管页面的域的后缀。
即foo.example.com、bar.baz.example.com 和 www.example.com 都可以共享属于 example.com 的 cookie。
使用 IP 地址的 URL 中根本没有主机名,因此无法匹配该规则。
无法在example.com 和13.25.230.2 之间共享您的cookie。改为给网站一个主机名。
【解决方案2】:
您无法使用 setcookie 标头从一台主机到另一台主机设置 cookie。例如从 example.com 到 foobar.com。
如果你必须这样做。然后将 cookie 值传递给服务器端脚本,例如 foobar.com\set-my-cookie.php 并使用 to 来保存 cookie。
无法从客户端代码设置或读取 Httponly cookie。