设置Cookie的时候浏览器会加一个属性SameSite
不加会有默认值
当我们在https//www.faker.com
请求了站外资源
如图中的img,iframe,ajax
此时域cookie肯定是匹配上的因为之前访问过
那么这个cookie到底是发还是不发
如果说没有这个SameSite,在很早的时候是没有这个东西的
那么那个时候呢是肯定要发的
包括iframe包括ajax啊都会发过去
那么这样子一来,就会造成CSRF攻击
后来出现了SameSite
由他来决定这个cookie到底是发,还是不发
这里呢就涉及到两个问题
1、什么叫做跨站
跨站只看域名
域名不一定完全一样
2、如何显限制的,具体看SameSite的取值
案例:
把系统的页面嵌入到别的系统去,出现各种问题
那种jsp前后端没分离的项目,依赖cookie判断登录状态,在后端加个过滤器,给首次请求加个header并设置cookie。
主要有两个问题
1,要让页面允许被其他第三方页面嵌入
2,cookie会失效
解决第一个方法就是加请求头。
cookie失效的解决方法就是配置cookie并设置https访问