提起cookie最基础的几个属性肯定是可以请求自动携带、大小、本地缓存、后端自动注入、携带cookie会引起跨域。而有几个不常用的却很少提及。
同源策略会引起跨域,而link、script、img、video、audio等几个标签不会引起跨域,而且,这些标签可以设置允许携带cookie的属性:
一般来说不用设置,不会携带,如果需要的话可以直接设置,就是没试过设置了允许携带是不是就会出现跨域了。
之前控制台经常看见这个属性,当时都没关注过,主要是应对跨站的问题。我们知道有个攻击叫做跨站请求伪造CSRF,设置这个就可以避免出现。
同站的定义是:eTLD+1相同即可。http://a.wade.com:80,wade.com就是eTLD+1。
比如下面的地址跟https://a.wade.com:80做比较:
这就尴尬了,跨站请求伪造的条件就太容易形成了,所以chrome升级到51之后新增了SameSite属性,加强了CSRF攻击和用户追踪,有三个属性:
现在默认的SameSite是Lax,一些旧网站控制台会有警告也是因为新浏览器导致的:
A parser-blocking, cross site (i.e. different eTLD+1) script
A cookie associated with a cross-site resource at was set without the SameSite
attribute.
欢迎关注个人订阅号 coding个人笔记