【发布时间】:2015-09-03 14:02:12
【问题描述】:
我目前正在制作一个网页游戏,它连接到服务器上的 php 文件以获取某些值(这是为了向最终用户隐藏一些代码)。服务器将创建 Session 并在其中存储值。这也意味着它将 Session Id 存储在 cookie 中。
问题是,如果我在与 php 文件不同的域上运行,则未设置 cookie 中的值。例如:
这将起作用:
Javascript address: "http://www.example.com/js/main.js"
PHP address: "http://www.example.com/php/main.php"
这将起作用:
Javascript address: "http://example.com/js/main.js"
PHP address: "http://example.com/php/main.php"
这不起作用:
Javascript address: "http://example.com/js/main.js"
PHP address: "http://www.example.com/php/main.php"
这不起作用:
Javascript address: "http://www.example.com/js/main.js"
PHP address: "http://example.com/php/main.php"
我已经启用了CORS,并且PHP文件可以成功返回值,只是如果域不同,则没有设置会话ID(实际上没有'www'被视为不同的域......)。现在我正在考虑强制用户使用 JavaScript 访问预期的 url。虽然这可行,但我觉得这更像是一种 hack,而不是一个正确的解决方案,并且正在寻找一个更清洁/正确的解决方案。
【问题讨论】:
标签: javascript php cookies session-cookies