谷歌浏览器跨域导致session失效

背景:

  项目A中iframe框架访问项目B中的页面,AB项目是不同的域名,其它浏览器正常访问调取数据(火狐、360等),唯独谷歌浏览器session失效

原因:

 Chrome 51 开始,浏览器的 Cookie 新增加了一个SameSite属性,用来防止 CSRF 攻击和用户追踪。谷歌默认SameSite属性的为Lax。

解决:

  网上搜了一些解决方法:Chrome谷歌浏览器跨域请求失效解决方案_Xiao阿的博客-CSDN博客_chrome跨域请求错误提示

但以上未能解决我的问题,大家可根据自己的情况来调试,我的最终解决方法一行代码

     在项目B的页面中加入以下代码,服务器端生完session,但客户端未能正常接收,则可参考以下代码,手动传cookie值

header("Set-Cookie:PHPSESSID=".session_id()."; HttpOnly;Secure;SameSite=None");

你可能感兴趣的:(php,谷歌,跨域,session失效)