-
2021-06-01 21:19:56
如果跨越需要前端带上cookie 需要设置返回的cookie SameSite=None 同时由于这个只对HTTPS有效所以需要设置 cookie的 Secure 属性
例如以下把token放到cookie里面返回,这样客户端浏览器请求接口的时候无需手工带上token,浏览器会自动带上
response.addHeader("Set-Cookie", String.format("%s; %s", String.format("token=%s; Max-Age=%s; Path=/;%s HttpOnly", token, 3600, " Secure;"), "SameSite=None"));
更多相关内容 -
跨域设置cookie(p3p)
2021-02-26 18:00:22偶然才知道还可以用P3P跨域设置cookie,寡闻了response.setHeader("P3P","CP=\"CURaADMaDEVaPSAoPSDoOURBUSUNIPURINTDEMSTAPRECOMNAVOTCNOIDSPCOR\"");Cookie_cookie=newCookie("test","value");_cookie.setMaxAg...偶然才知道还可以用P3P跨域设置cookie,寡闻了
response.setHeader("P3P","CP=\"CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR\"");
Cookie _cookie=new Cookie("test","value");
_cookie.setMaxAge(30*60*100); //如果不设置maxage代表该cookie为会话级别,关闭浏览器就失效
_cookie.setPath("/");
_cookie.setDomain("你想指定的任意domain");
response.addCookie(_cookie);
备注:如果你在测试跨域读取cookie的过程中domain A,domain B 另外找2台机器不要把本机作为其中的一个domain
setcookie.jsp 放在B.COM上
response.setHeader("P3P","CP=\"CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR\"");
Cookie c = new Cookie("mastersession", sessionId);
c.setPath("/");
c.setDomain("a.com");
c.setMaxAge(180000);
response.addCookie(c);
a.com上的 js读取cookie
function getCookie(c_name)
{
if (document.cookie.length>0)
{
c_start=document.cookie.indexOf(c_name + "=");
if (c_start!=-1)
{
c_start=c_start + c_name.length+1;
c_end=document.cookie.indexOf(";",c_start);
if (c_end==-1) c_end=document.cookie.length;
return unescape(document.cookie.substring(c_start,c_end));
}
}
return "";
}
-
Ajax跨域访问Cookie丢失问题的解决方法
2020-12-09 06:12:03ajax跨域访问,可以使用jsonp方法或设置Access-Control-Allow-Origin实现,关于设置Access-Control-Allow-Origin实现跨域访问可以参考之前我写的文章《ajax 设置Access-Control-Allow-Origin实现跨域访问》 ... -
跨域读写Cookie
2021-03-13 00:46:19Cookie作用域Cookie 在二级域名下是可以共享的,如www.a.com 和m.a.com 他们的Cookie 是可以共享的,这也是很多单点登录利用Cookie实现的原理,但是很多站点不是二级域名的如www.taobao.com和www.tmall.com,它们是...Cookie作用域
Cookie 在二级域名下是可以共享的,如www.a.com 和m.a.com 他们的Cookie 是可以共享的,这也是很多单点登录利用Cookie实现的原理,但是很多站点不是二级域名的如www.taobao.com和www.tmall.com,它们是完成两个不同的域名,那么完全不同的域名可以共享Cookie吗?答案是可以的,我们看一下实现思路。
跨域写Cookie
跨域写Cookie 的原理主要是利用html中的 《script>标签可以跨域获来实现的
现有a.com 和b.com 两个站点,可以通过Hosts文件配置,如下图所示
在b.com 中建立一个serlvet 负责写Cookie ,代码 如下:
@WebServlet("/SetCookie")
public class SetCookie extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String cookieName=request.getParameter("cookieName");
String cookieValue=request.getParameter("cookieValue");
response.addCookie(new Cookie(cookieName, cookieValue));
response.getWriter().append("add Cookie");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
在a.com 中添加一个index.html 页面,页面中代码 如下:
Insert title here这段代码主要是通过 《script》 标签访问b.com中的写Cookie接口,从而将Cookie 写到b.com中
测试
查看b.com Cookie
跨域读Cookie
跨域读Cookie 主要利用《iframe》标签可以跨域的特性完成的。
b.com 下有一个2.html 内容如下:
这段代码主要是将b.com下的所有cookie通过url参数方式跳转到a.com下的3.html
a.com下有 1.html 内容如下:
这段代码主要作用是通过一个《iframe》标签访问b.com下的2.html
a.com下有3.html 内容如下:
这段代码主要是将b.com下的2.html中的url参数写到 1.html中textarea中
防问http://a.com/ClientA/1.html 获取b.com下的所有Cookie
-
java允许跨域设置
2022-05-05 17:57:20SpringBoot项目允许跨域设置。 一、编写配置类 public class WebMvcConfig extends WebMvcConfigurerAdapter { @Override public void addCorsMappings( CorsRegistry registry) { registry.addMapping("/**")//...提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
SpringBoot项目允许跨域设置。
一、编写配置类
public class WebMvcConfig extends WebMvcConfigurerAdapter { @Override public void addCorsMappings( CorsRegistry registry) { registry.addMapping("/**")//允许请求路径 .allowedOrigins("*")//表示允许所有网址发起跨域请求 .allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE")//表示允许跨域请求的方法 .maxAge(3600)//表示在3600秒内不需要再发送预校验请求 .allowCredentials(true);//允许客户端携带验证信息,即允许携带cookie } }
二、具体使用
@RequestMapping(value="/searchById",method={RequestMethod.GET}) @ResponseBody @CrossOrigin("*")//配置文件已设置,可以省略。 public JsonResult searchone(String blogId){ return blogService.searchById(blogId); }
-
跨域共享cookie
2021-02-27 18:47:341.JSP中Cookie的读写Cookie的本质是一个键值对,当浏览器访问web服务器的时候写入在客户端机器上,里面记录一些信息。Cookie还有一些附加信息,比如域名、有效时间、注释等等。下面是一个jsp中写入读取Cookie的测试... -
如何使用重定向设置跨域Cookie?
2021-03-07 21:10:00现在我想在web1中写一个cookie,并通过Response.... 但是,我无法读取web2中的cookie。有人能帮我找出我的代码是否有问题,或者Cookie不能通过这种方式跨域共享。 谢谢:)下面的代码:在www.web1.com/Default.asp... -
跨域请求传递Cookie问题
2021-03-06 01:12:30使用CORS协议解决跨域访问数据限制的问题,但是发现客户端的Ajax请求不会自动带上服务器返回的Cookie:JSESSIONID。导致每一个Ajax请求在服务端看来都是一个新的请求,都会在服务端创建新的Session(在响应消息头中... -
边缘浏览器 - 使用跨域请求设置Cookie
2021-04-23 23:15:48作为我正在开展的项目的一部分,我们需要发送跨域请求 . 我有以下电话:$http({url: 'http://192.168.1.1/API/Login',method: "POST",data: {password: $scope.pass},withCredentials: true,cached: false,headers: ... -
实现跨域cookie共享(转载)
2021-02-26 12:07:16跳转后在这个跳转后的域名下设置登录成功的cookie。这就是sohu实现跨站点登录的核心过程。下面是 passport.sohu.com登录17173.com的过程。 1. 通过... -
解决跨域设置Cookie问题
2019-04-10 10:16:30如a.123.com跨域访问b.123.com/request、 b.123.com服务器使用nginx允许跨域,Access-Control-Allow-Origin:* 如果a、b服务不在同一个服务器 前台页面请求报错信息为: Access to XMLHttpRequest at '... -
Javaweb cookie的路径和cookie跨域操作-cookie设置
2021-03-08 06:25:09Cookie的path(理解)浏览器在访问BServlet时,是否要带上AServlet保存的Cookie呢?这要看Cookie的path了。现有资源如下:... -
两个不同主域之间跨域设置cookie值
2022-04-29 17:23:59应用说明: ... (3)浏览器登录a系统拿到cookie值,然后在a系统网页中带着cookie值参数调用b系统接口设置b主域cookie值。 1、提供cookie值一方,在网页中以ajax方式调用被设置cookie值方的接口,发送... -
JavaWeb 系统共享跨域cookie的实现
2014-01-07 01:04:02单点登录系统整合了各个应用系统的身份认证。用户在单点登录系统中完成认证后,就可以访问具有访问权限的应用系统。为了减轻单点登录系统的负担,用户...通过使用跨域cookie方法,在两种服务器环境里面实现了这种重定向。 -
springboot 跨域cookie
2022-03-28 15:34:08springboot跨域cookie 跨域请求默认不会发送cookie数据,需做在请求发送端、服务端做一些配置才能发送、读取cookie数据 ************************ 应用 1 **************** config层 WebConfig @Configuration ... -
cookie设置域名问题,cookie跨域
2021-03-13 22:09:20这个是浏览器出于对cookie的保护造成的,也就是cookie无法跨域设置。对于子域名也有如下规则,当前域名只能设置当前域名以及他的父域名,不能设置子域名如在www.wo.cao.baidu.com 域名下只能设置 cao.baidu.com,... -
Java请求跨域处理
2021-03-28 18:05:34Java请求跨域处理 参考 Access to XMLHttpRequest at ‘http://localhost:88/api/sys/login’ from origin ‘http://localhost:8001’ has been blocked by CORS policy: Response to preflight request doesn’t ... -
Java后端如何配置跨域
2021-03-06 14:34:16在springboot项目中如何设置跨域,其实很简单,只需要在Java项目中加一个配置类即可可以用这种配置类import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.... -
java 配置跨域代码
2021-10-29 14:53:48// 不使用*,自动适配跨域域名,避免携带Cookie时失效 String origin = request.getHeader("Origin"); if (StringUtils.isNotBlank(origin)) { response.setHeader("Access-Control-Allow-Origin", origin); } // ... -
Java解决跨域的三种方式
2022-03-16 11:19:02跨域是开发中经常会遇到的问题,当协议(http/https),主机(www.baidu.com/www.360.com||http://137.220.35.89//http://137.220.35.90/),端口(localhost:80/localhost:81)有一者不同时,即为跨域请求,详见跨源... -
跨域cookie传输丢失问题(兼容高低版本谷歌游览器)
2022-03-30 15:03:15跨域 cookie丢失 -
java设置Domain为一级域名以解决cookie跨域的问题
2019-07-06 19:05:51原因: 在做JWT权限验证的时候,前台的同事要求后台把返回的token...这时只要把Domain设置成.+一级域名那么就能解决cookie跨域的问题了。 解决方法: 就是这句代码:response.addHeader(“Set-Cookie”, token的名字=tok... -
java 解决cors跨域 cookie无法携带问题
2019-12-16 11:57:061.web.xml配置过滤器,全局设置 @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletResponse response = (... -
Cookie设置域名问题,cookie跨域
2021-03-10 05:09:40当我们给网站设置cookie时,大家有没有发现在网站的其他域名下也接收到了这些cookie。这些没用的cookie看似不...我们都知道在PHP中用setcookie来设置网站的cookie,该函数的用法如下:boolsetcookie( string$name[,... -
Java中实现跨域的五种方式
2021-05-08 14:34:17一、什么是跨域?为什么会出现跨域 定义:当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域。 原因:在前后端分离的模式下,前后端的域名是不一致的,此时就会发生跨域访问问题。在请求...