桐城市美好乡村建设办公室网站,别人抄袭网站设计怎么办,网站开发大学是什么专业,it培训网场景#xff1a;比较古老的项目了#xff0c;ssh架子#xff0c;Chrome 51 开始#xff0c;浏览器的 Cookie 新增加了一个SameSite属性#xff0c;可用于防止 CSRF 攻击和用户追踪。因此需要给其字段赋值。 网上找了很多资源#xff0c;由于jar版本比较低#xff0c;没有… 场景比较古老的项目了ssh架子Chrome 51 开始浏览器的 Cookie 新增加了一个SameSite属性可用于防止 CSRF 攻击和用户追踪。因此需要给其字段赋值。 网上找了很多资源由于jar版本比较低没有samesite字段尝试过继承cookie重写类修改tomcat配置等方式均不可用
查看了一些文档最直接的方式试了下可行
private xxx xxx(){
String sessionValue((HttpServletRequest) request).getSession().getId();addSameSiteAttribute((HttpServletResponse)response,sessionValue);filter.doFilter(request, response);
}//自定修改cookie某属性内容
private void addSameSiteAttribute(HttpServletResponse response,String sessionValue) {//如果需要修改多个cookie属性 使用 response.addHeader(),内容格式与下方一致
response.setHeader(Set-Cookie,JSESSIONIDsessionValue;Path/imService;HttpOnlytrue;Secure;SameSiteStrict);} SameSite可以设置为三个属性strict,Lax,None strict属性该属性表示表示完全禁止第三方cookie,也就是在跨站时均不会携带cookie,只有当前站点的url和访问的站点的url一致时才能携带cookie。但是我们此时想一种情况比如说当前站点A存在一个链接链接到gitte网站如果我们之前已经登录了gitte网站的话则我们再次访问该网站时应该是处于登录状态的。但是我们对当前站点cookie设置了SameSite属性为strict值所以当前跳转链接并不会携带cookie所以我们的信息无法得到认证此时就需要重新登录。 Set-Cookie: CookieNameCookieValue; SameSitestrict; Lax:该属性比strict的属性要宽松一些其允许我们在跨站使用get请求时不准确比如ajaxget携带cookie。重定向和window.open 是get请求 Set-Cookie: CookieNameCookieValue; SameSiteLax; None属性chrome默认将Lax设置为默认值此时我们可以更改samesite的值将其设置为none,此时必须同时设置Secure属性Cookie 只能通过 HTTPS 协议发送否则无效。 Set-Cookie: widget_sessionabc123; SameSiteNone;Secure;