2

我有一个使用 socket.io 连接到 node.js 的 php 文件。

我需要获取 cookie 并使用其中的数据来创建我必须发回的响应。现在的问题是我的 PHP 应用程序位于localhost/subdomain,而我在 localhost:8124 运行服务器。

因此,当我使用socket.handshake.headers.cookie它时,它会返回存储在localhost而不是localhost/subdomain的 cookie ,因此我只得到phpsessid而不是 cookie 数据。

我该怎么办?

4

2 回答 2

1

解决了 !!只需在 php 中设置 cookie 路径“/”!然后它在整个域中都可用!让 socket.io 和 node.js 脚本保持原样!!

于 2013-05-27T02:14:22.417 回答
0

设置域属性帮助了我:https ://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies

我的子域格式为subdomain.domain.com

res.cookie('token', token, {domain: 'domain.com', httpOnly: true, secure: true, maxAge: 100000, sameSite: 'None'})
于 2021-03-26T12:55:55.357 回答