use*_*341 4 php session-cookies http-headers cors
我正在网站上与CORS合作.
代码示例:
header("Access-Control-Allow-Origin: *");
session_start();
$session_id = session_id();
Run Code Online (Sandbox Code Playgroud)
此代码工作正常,但每次都返回一个新的会话ID.
在这种情况下如何维护会话数据?
虽然您允许使用Access-Control-Allow-Origin标头从外部域进行访问,但会话本身是基于cookie的.
如果发出请求的脚本是从外部域传递的,则它将无法读取cookie并将其传递给您的服务器.
解决方案:交付JS,它从与AJAX服务相同的上下文(即相同的协议/域/端口)进行调用.还要确保cookie本身不限于不同的子域或路径.
不要尝试通过POST或GET请求传递会话标识符,这将使您的应用程序容易受到CSRF的攻击.
顺便说一下,*也不建议将允许的原点设置为,因为它也可以与其他技术结合用于XSS/CSRF.请限制对第三方域的请求.
最后,但并非最不重要的是,您可能还想通过HTTP OPTIONS查看预检请求的主题.
| 归档时间: |
|
| 查看次数: |
2035 次 |
| 最近记录: |