[Cookie]解决Cookie跨域访问
前言
随着工程的不断扩大,要部署很多不同的服务,这其中就避免不了Cookie的跨域问题,如何实现Cookie在不同域之前实现传输,本文将详细描述。
Cookie介绍
1、path
Cookie路径是由path设置,例如我们设置path为 / ,代表当前webapps下的所有工程均可访问此Cookie,若path为 /test ,代表 /test 下的请求才能访问此Cookie。
2、域
Cookie的域我们如果不设置的话,默认是当前工程,例如:http://www.test.com/index.html ,那么它的域为www.test.com,通过domain我们可以设置Cookie的域
解决顶级域名与二级域名之间的跨域问题
#通过设置domain
#顶级域名服务器与二级域名服务器之间哪个设置都能生效
#设置完毕后写回到客户端,用另一个服务器即可访问此Cookie
cookie.setDomain("test.com");
解决顶级域名于顶级域名之间的跨域问题
我们可以通过Nginx反向代理,将两个服务器域名统一到一个反向代理服务器。
upstream www.test.com { server 127.0.0.1:8080 weight=1; server 127.0.0.1:8060 weight=1; }server {listen 80;server_name www.test.com;#charset koi8-r;#access_log logs/host.access.log main;location / {proxy_pass http://www.test.com;index index.html index.htm;}}
使用Ajax方式实现跨域访问Cookie
$.ajax({type: 'GET',url: "http://www.cookie.test.com:8080/web2/ajaxServlet",data: {"username":"haha"},dataType: "json",//设置crossDomain与withCredentials的作用 : //允许携带cookie,不开启是不能带cookie到后台的,//同时后台也不能往前台写cookiecrossDomain: true,xhrFields: {withCredentials: true},success: function (data){console.info(data);}
});
#允许来自所有域的跨域请求访问
response.setHeader("Access-Control-Allow-Origin", "*");
#只接收来自http://www.test.com:8060的Cookie
response.setHeader("Access-Control-Allow-Origin","http://www.test.com:8060");
if ( request.getHeader("Origin") != null ) {if(request.getHeader("Origin").contains("test.com")) {response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));}
}
//如果ajax里 withCredentials为true,就必须开启这个选项,
//允许携带证书式访问(允许操作cookie),默认是false
response.setHeader("Access-Control-Allow-Credentials", "true");
服务器端 Access-Control-Allow-Credentials = true时,参数Access-Control-Allow-Origin 的值不能为 *
引入跨域Filter
由于我们频繁设置 Access-Control-Allow-Origin 很不方便,我们可以引入Filter,它是在tomcat的lib包下的 catalina.jar 中。
<filter><filter-name>CorsFilter</filter-name><filter-class>org.apache.catalina.filters.CorsFilter</filter-class></filter><filter-mapping><filter-name>CorsFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
if ( request.getHeader("Origin") != null ) {if(request.getHeader("Origin").contains("test.com")) {response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));}
}
[Cookie]解决Cookie跨域访问相关推荐
- [解决]WebLogic跨域访问安全问题
[解决]WebLogic跨域访问安全问题 参考文章: (1)[解决]WebLogic跨域访问安全问题 (2)https://www.cnblogs.com/boazy/archive/2013/06/ ...
- jsonp跨域的缺点ajax缺点,浅析JSONP解决Ajax跨域访问问题的思路详解
前几天,工作上有一新需求,需要前端web页面异步调用后台的Webservice方法返回信息.实现方法有多种,本例采用jQuery+Ajax,完成后,在本地调试了一切ok,但是部署到服务器上以后就出现问 ...
- CP=CAO PSA OUR 用P3P header解决iframe跨域访问cookie
短信模块以iframe方式嵌入系统,系统登录时,短信登录失败,这种情况只在win7下IE出现,win10未出现. 原因:IE禁止iframe跨域访问cookie 解决方案: 在短信登录时,进行如下设置 ...
- 普元EOS中, 子系统和portal不在同一个域中,使用jquery的jsonp来解决portal跨域访问
转至元数据起始 [背景] 子系统和portal不在同一个域中且项目中要求不能使用nginx.apache等反向代理软件,故使用jsonp从代码角度解决ajax跨域问题 [实现思路] 通过jquery的 ...
- 解决Vue跨域访问后端API问题
文章目录 前言 一.vue.config.js文件 二.配置代理参数 总结 前言 我们在写前后端分离的时候,请求后端接口是必要步骤,但是这个时候就有个问题,因为前端和后端是归属于不同端口,我们在直接访 ...
- ashx 跨域_使用ashx解决ajax跨域访问的问题
由于跨域访问是被IE的安全访问拒绝掉的 需要使用web代理 新建一个proxy.ashx文件 在proxy.ashx里建一个webservice 代码如下: [WebService(Namespace ...
- ashx 跨域_使用ashx解决ajax跨域访问的问题 | 学步园
由于跨域访问是被IE的安全访问拒绝掉的 需要使用web代理 新建一个proxy.ashx文件 在proxy.ashx里建一个webservice 代码如下: [WebService(Namespace ...
- 使用自开发的代理服务器解决 SAP UI5 FileUploader 上传文件时遇到的跨域访问错误试读版
一套适合 SAP UI5 初学者循序渐进的学习教程 作者简介 Jerry Wang,2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今.Jerry 是 SAP 社区导师,S ...
- 如何解决谷歌浏览器解决跨域访问的问题
如何解决谷歌浏览器跨域访问的问题 对于GitHub上面的开源项目,当我们通过git clone到本地进行运行时,会发现对于一些.html文件在自己的谷歌浏览器中打开后不显示任何内容.这是由于浏览器对于 ...
- AJAX跨域访问解决方案
Case I. Web代理的方式 (on Server A) 即用户访问A网站时所产生的对B网站的跨域访问请求均提交到A网站的指定页面,由该页面代替用户页面完成交互,从而返回合适的结果.此方案可以解决 ...
最新文章
- android京东加入购物车效果,京东360buy 手机项目的“加入购物车”动画效果研究...
- what should you do if you want to become an expert in one domain
- 【数据结构与算法】之容器盛最多水的算法实现
- oracle数据库的拼接字符串,Oracle数据库拼接字符串
- “金三银四”跳槽需谨慎!
- lc滤波电路电感电容值选择_模拟电路中,电感的这些知识点你都清楚吗?
- 通过配置IP SLA跟踪静态路由
- a deep leaning
- 如何用U盘安装Ubuntu操作系统
- NUKE 10 mac破解版影视特效制作软件,你也可以制作大片一样的影视效果!
- 测试硬件工程师常用英语单词
- 明光桥南 || 明光桥北
- C语言关键字浅析-enum
- Pytorch里addmm()和addmm_()的用法详解
- js 根据中文获取拼音首字母
- JavaEE——JUC
- 顺序表的基本操作——初始化表
- 用Xposed框架抓取微信朋友圈数据
- 类和对象总结及用法 计算点到点距离 线与线的关系 计算三角形平行四边形面积周长 判断形状
- 做好这三步,你的小程序离“爆款”就不远了