解决跨域设置Cookie问题
如a.123.com跨域访问b.123.com、
b.123.com服务器使用nginx允许跨域,Access-Control-Allow-Origin:*
如果a、b服务不在同一个服务器
前台页面请求报错信息为:
Access to XMLHttpRequest at 'http://b.123.com'
from origin 'http://a.123.com' has been blocked by CORS policy:
The value of the 'Access-Control-Allow-Origin' header in the response
must not be the wildcard '*' when the request's credentials mode is 'include'.
The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.
对应ajax请求为:
$.ajax({url : 'http://b.123.com/request',data : data,dataType: 'json',type : 'POST',xhrFields: {withCredentials: true},crossDomain: true,...
此时,应取消nginx设置的跨域*,改成代码端设置。且代码服务器端通过在响应 header 中设置
response.setHeader("Access-Control-Allow-Credentials", "true");
来运行客户端携带证书式访问。通过对 Credentials 参数的设置,就可以保持跨域 Ajax 时的 Cookie。
服务器端 Access-Control-Allow-Credentials = true
时,Access-Control-Allow-Origin
的值不能为 '*'
,应设置为发起请求的地址。
如a.com发来的请求:
response.setHeader("Access-Control-Allow-Origin", a.123.com);
如c.123.com发来的请求:
response.setHeader("Access-Control-Allow-Origin", c.123.com);
b服务器在设置cookie时,需设置
cookie.setPath("/");
cookie.setDomain("123.com");
否则设置的cookie无法生效。
欢迎访问个人主页:唐悦玮的博客
解决跨域设置Cookie问题相关推荐
- 【跨域】一篇文章彻底解决跨域设置cookie问题!
一篇文章彻底解决跨域设置cookie问题! 大家好我是雪人~~⛄ 之前做项目的时候发现后端传过来的 SetCookie 不能正常在浏览器中使用. 是因为谷歌浏览器新版本Chrome 80将Cookie ...
- SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析
最近在研究SSO单点登录技术,其中有一种就是通过js的跨域设置cookie来达到单点登录目的的,下面就已京东商城为例来解释下跨域设置cookie的过程 涉及的关键知识点: 1.jQuery ajax跨 ...
- php跨域单点登录,SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析...
SSO单点登录技术,其中有一种就是通过js的跨域设置cookie来达到单点登录目的的,下面就已京东商城为例来解释下跨域设置cookie的过程 涉及的关键知识点: 1. 跨域redirect实例: te ...
- php利用P3P头实现跨域设置cookie
在开发中,我们碰到的跨域主要还是纠结在IE,页面中的IFRAME或者FRAME或者JS跨域的时候,IE有安全策略限制页面不带cookie,但是如果我们加上P3P,就没有这策略的限制.这也是P3P来突破 ...
- 使用p3p跨域设置Cookie
有些时候不能将url上的参数传来传去,比如与调用某开放平台上的接口,这时候可能需要借助Cookie来进行处理了,但这里可能又涉及到跨域的问题. 如果浏览器开启了对Cookie的支持,按照Cookie ...
- 通过P3P头实现跨域设置cookie
PHP的setcookie函数可以设置域,但是只能在当前域内,如果出现多域可由如下办法处理: 实现原理: www.b.com/set_cookie.php 在b域名下设置a域名的cookie &l ...
- p3p-header解决跨域访问cookie
P3P header允许跨域访问隐私数据,从而可以跨域set-cookie成功 header("P3P: CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PU ...
- iframe跨域设置cookie
<?php header("Set-Cookie: test=xxx;Secure;SameSite=None"); ?>
- 转载 - 通过设置P3P头来实现跨域访问COOKIE
作者:老王 网上看了别人介绍的一片文章,说使用P3P可以完成跨域COOKIE操作,感觉很COOL,不过没有提供源代码,我胡乱写了一下,大家看看. 实际工作中,类似这样的要求很多,比如说,我们有两个域名 ...
最新文章
- Java网络编程从入门到精通(4):DNS缓存
- vsftpd实现的FTP服务
- Post Content_Length exceeds the limit
- 获取mysql可行方法_Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法...
- 【控制】《复杂运动体系统的分布式协同控制与优化》-方浩老师-第3章-局部指数稳定的多欧拉-拉格朗日系统协同控制
- Java学习笔记10-2——MyBatis
- centos8 apache php,centos6.8安装php7 for Apache2
- gradle:Creating New Gradle Builds
- UVa11809-Floating-Point Numbers
- 再探Linux内核write系统调用操作的原子性
- Java技术体系概述
- wifi信号衰减与距离关系_wifi无线信号传输衰减间隔核算公式
- imap服务器怎么填写 网易邮箱,ipad设置163邮箱教程 如何设置163邮箱【详细介绍】...
- [番外]:带你玩正则1--数据遍地是,看你取不取
- 异贝,通过移动互联网技术,为中小微实体企业联盟、线上链接、线上线下自定义营销方案推送。案例60
- NPT 时间服务实战
- vue快捷导出excel插件
- openwrt luci中文汉化
- 交互设计之草图、线框图和原型
- 这就是你日日夜夜想要的docker!!!---------Docker Compose容器编排理论+实操
热门文章
- (转)FLASH技术分享
- 竞品分析:阿里云 VS 腾讯云,AT的短兵相接
- 校园地图设计——任意两点间的算法优化流程与while搭配switch语句的bug解读
- js制作的炫酷3D太阳系行星运行效果
- Ubuntu14.04 64位网易云播放器
- 学习聚宽4:函数 下单函数 自定义函数(笔记简单,但是需要重点看)
- 典型相关分析(Canonical correlation analysis)(二):原始变量与典型变量之间的相关性 、典型相关系数的检验
- 积木报表画布显示不了
- vue在初始化时给scrollTop设置一个值,但scrollTop却始终为0
- 如何在Mac版达芬奇中安装使用LUT调色预设?达芬奇lut调色预设安装使用教程