2

我正在使用 express-session 模块来维护会话。我有两个应用程序。我想与这个应用程序共享 cookie,父应用程序在 example.com 中运行,子应用程序在 child.example.com 中运行。我使用它在子应用程序中设置的 express-session 设置 httponly cookie。我可以在 chrome 调试器的资源选项卡中验证该 cookie。

网络选项卡:

当第一次调用子域时:它加载请求中设置的“ http://www.child.example.com ”cookie。而 url 被重定向到服务器 IP 。之后cookie不可用。

http://13.25.230.2/index cookie 不可用

4

2 回答 2

3

当您发送Set-CookieHTTP 标头时,您可以指定它所针对的域。

Set-Cookie: name=value; domain=example.com

域必须是托管页面的域的后缀。

foo.example.combar.baz.example.com并且www.example.com都可以共享一个属于example.com.

使用 IP 地址的 URL 中根本没有主机名,并且无法匹配该规则。

无法在example.com和之间共享您的 cookie 13.25.230.2。改为给站点一个主机名。

于 2016-02-08T11:44:41.303 回答
0

您无法使用从一台主机到另一台主机的 setcookie 标头设置 cookie。例如从 example.com 到 foobar.com。如果你必须这样做。然后通过将 cookie 值传递给服务器端脚本来执行此操作,例如 foobar.com\set-my-cookie.php 并使用 to 来保存 cookie。

无法从客户端代码设置或读取 Httponly cookie。

于 2019-06-11T08:29:52.927 回答