首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从不同域运行时未设置Cookie值

问从不同域运行时未设置Cookie值
EN

Stack Overflow用户
提问于 2015-09-03 13:55:50
回答 1查看 75关注 0票数 0

我目前正在制作一个网页游戏,它连接到服务器上的一个php文件来获取某些值(这是为了对最终用户隐藏一些代码)。服务器将创建会话并在其中存储值。这也意味着它将在cookie中存储会话Id。

问题是,如果我在与php文件不同的域上运行,cookie中的值不会被设置。例如:

这将会起作用:

代码语言:javascript
复制
Javascript address: "http://www.example.com/js/main.js"
PHP address: "http://www.example.com/php/main.php"

这将会起作用:

代码语言:javascript
复制
Javascript address: "http://example.com/js/main.js"
PHP address: "http://example.com/php/main.php"

这将不起作用:

代码语言:javascript
复制
Javascript address: "http://example.com/js/main.js"
PHP address: "http://www.example.com/php/main.php"

这将不起作用:

代码语言:javascript
复制
Javascript address: "http://www.example.com/js/main.js"
PHP address: "http://example.com/php/main.php"

我已经启用了CORS,PHP文件可以成功地返回值,只是如果域不同,就没有设置会话id (实际上没有'www‘被视为不同的域...)。现在,我正在考虑强制用户使用JavaScript转到预期的url。虽然这很有效,但我觉得这更像是一种黑客攻击,而不是一种适当的解决方案,并在寻找一种更干净/适当的修复方法。

EN

回答 1

Stack Overflow用户

发布于 2015-09-03 14:02:12

您需要在Set-Cookie标头中指定域,例如

代码语言:javascript
复制
Set-Cookie: name=value; domain=example.com

显然,这只适用于相同域的子域,您不能在完全不同的域之间共享cookie。更多示例here。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32367936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档