首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有php会话的CORS

具有php会话的CORS
EN

Stack Overflow用户
提问于 2014-08-28 14:32:06
回答 2查看 3.9K关注 0票数 5

我在一个网站上和CORS合作。

代码示例:

代码语言:javascript
复制
header("Access-Control-Allow-Origin: *");
session_start();
$session_id = session_id();

这段代码运行良好,但每次都返回一个新的会话id。

在这种情况下如何维护会话数据?

EN

回答 2

Stack Overflow用户

发布于 2014-08-28 16:15:02

尽管允许来自具有Access-Control-Allow-Origin头的外部域的访问,但会话本身是基于cookie的。

如果发出请求的脚本是从外部域传递的,它将无法读取cookie并将其传递给您的服务器。

解决方案:交付JS,它从与AJAX服务相同的上下文(即相同的协议/域/端口)进行调用。还要确保cookie本身不限于不同的子域或路径。

不要尝试通过POST或GET请求传递会话标识符,这将使您的应用程序容易受到CSRF的攻击。

顺便说一句,也不鼓励将允许的源设置为*,因为它也可以与其他技术一起用于XSS/CSRF。请将请求限制在第三方域名内.

最后,但并非最不重要的是,您还可能希望通过HTTP选项查看飞行前请求的主题。

票数 6
EN

Stack Overflow用户

发布于 2022-10-15 11:22:52

服务器(在本例中是PHP应用程序)可以同时与许多不同的客户端进行会话。如果没有PHPSESSID cookie,会话就无法判断哪个会话属于哪个客户端。这个库克必须在请求头中设置PHP以标识客户端。

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

https://stackoverflow.com/questions/25551402

复制
相关文章

相似问题

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