跨域请求cookie获取与设置问题

描述:最近做项目遇到了cookie的问题,项目为前后端分离项目,前台有分外网IP(A外)和内网IP(A内),后台服务只有一个内网IP(B内)。

现象:当我前台异步请求发送给后台的时候,后台并不能获取到前台的cookie或者cookie获取的不对。

解释:

后台我需要获取A(外)这个域下的所有cookie,同时因为某种原因我客户端也是存在cookie的,但是当前台页面,访问后台服务时,请求携带的时B(内)所在域下的cookie,因此获取不到指定cookie值,因此服务出错。

结论:获取cookie时,会获取服务端,域下的cookie.设置cookie时,会在请求域下设置cookie

时间: 2024-10-12 09:46:54

跨域请求cookie获取与设置问题的相关文章

Ajax 跨域请求 jsonp获取json数据

遇到Ajax的跨域请求出问题 找了中解决办法如下: 参考内容:http://justcoding.iteye.com/blog/1366102 由于受到浏览器的限制,该方法不允许跨域通信.如果尝试从不同的域请求数据,会出现安全错误.如果能控制数 据驻留的远程服务器并且每个请求都前往同一域,就可以避免这些安全错误.但是,如果仅停留在自己的服务器上,Web 应用程序还有什么用处呢?如果需要从多个第三方服务器收集数据时,又该怎么办? 理解同源策略 同源策略阻止从一个域上加载的脚本获取或操作另一个域上的

Ajax跨域请求COOKIE无法带上的解决办法

原生ajax请求方式: var xhr = new XMLHttpRequest(); xhr.open("POST", "http://xxxx.com/demo/b/index.php", true); xhr.withCredentials = true; //支持跨域发送cookies xhr.send(); jquery的ajax的post方法请求: $.ajax({ type: "POST", url: "http://xx

Spring处理跨域请求

[nio-8080-exec-8] o.s.web.cors.DefaultCorsProcessor        : Skip CORS processing: request is from same origin 一次正常的请求 最近别人需要调用我们系统的某一个功能,对方希望提供一个api让其能够更新数据.由于该同学是客户端开发,于是有了类似以下代码. @RequestMapping(method = RequestMethod.POST, value = "/update.json&q

跨域请求相关知识

一.跨域请求概念 请求在域名.端口或协议不同的服务器上的数据过程 二.原生js跨域请求 先获取接口URL并设置相应的参数,如回调函数,然后把URL添加到createElement("script")生成的script标签的src属性上,append到主页面中,然后编写回调函数来解析接口获得的数据 客户端 1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset

Ajax跨域请求,无法传递及接收cookie信息

最近在做一个系统遇到一个问题,在网上找个一个和我遇到相同问题的(原文地址:https://www.cnblogs.com/helloyy/p/6109665.html)按照他的步骤还是没有解决,继续查找资料,根据他的方法做出修改,最后解决.(不想写字就自己拿过来了..) 应用场景: 项目测试环境:前端应用HTML,js,jQuery ajax请求,部署在Apache服务器:后端业务系统应用spring mvc,mybatis,部署在tomcat服务器.当在一个系统需要调用另一个系统的时候,就会出

【原】fetch跨域请求附带cookie(credentials)

HTTP访问控制 https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS 解决跨域的方式有很多种,本文介绍"跨域请求附带发送cookie" 一.测试环境 前提:后台使用apache+php实现.apache设置多个虚拟主机,设置方式参考:http://www.cnblogs.com/sivkun/p/7347978.html 在http://a.sivkun.com域中/cors-cookie/目录下有

跨域请求传递Cookie问题

问题描述 前后端完全分离的项目,前端使用Vue + axios,后端使用SpringMVC,容器为Tomcat. 使用CORS协议解决跨域访问数据限制的问题,但是发现客户端的Ajax请求不会自动带上服务器返回的Cookie:JSESSIONID. 导致每一个Ajax请求在服务端看来都是一个新的请求,都会在服务端创建新的Session(在响应消息头中设置Set-Cookie:JSESSIONID=xxx). 而在项目中使用了Shiro框架,用户认证的信息是放在Session中的,由于客户端不会把J

在vue中使用axios实现跨域请求并且设置返回的数据的格式是json格式,不是jsonp格式

在vue中使用axios实现跨域请求 需求分析:在项目中需要抓取qq音乐的歌曲列表的数据,由于要请求数据的地址url=https://c.y.qq.com/splcloud/fcgi-bin/fcg_get_diss_by_tag.fcg.从qq音乐的官网上可以看到该请求的请求头中的referer中的域名是y.qq.com(发送请求页面的域名),而host的域名是c.y.qq.com(被请求页面的域名),由于两者不一样,所以不能通过前端直接发送请求给qq服务器去拿数据.这时候需要服务器做一个代理

跨域请求设置withCredentials(转)

最近在做运动城项目,这一个项目下面有多个子项目,如主数据项目,pos项目等.主数据项目的域名为www.topmall.com,POS项目的域名为pos.topmall.com.即两个项目的主域名相同,子域名不相同. 我们的登陆认证是放在主数据项目的,即进入POS项目如果检测未登陆,是先要调用主数据的一个登陆接口登陆后才可以访问的.这时候跨域问题就出现了,进入POS项目之后跳出登陆框,输入用户名密码请求主数据的http://www.topmall.com/signin进行登陆,看到返回的respo