SameSite ="Lax"和"Sax"之间的区别是什么?和SameSite =“严格"? [英] What is difference between SameSite="Lax" and SameSite="Strict"?

查看:1650
本文介绍了SameSite ="Lax"和"Sax"之间的区别是什么?和SameSite =“严格"?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有人可以通过一个很好的例子告诉我 SameSite ="Lax" SameSite ="Strict" 有什么区别,因为我对两者之间有些困惑?

Can anyone tell me what is the difference between SameSite="Lax" and SameSite="Strict" by a nice example as I am a bit confused between these two?

推荐答案

Lax允许在某些跨站点请求中发送cookie,而Strict从不允许在跨站点请求中发送cookie.

Lax allows the cookie to be sent on some cross-site requests, whereas Strict never allows the cookie to be sent on a cross-site request.

可以跨站点发送Lax cookie的情况必须满足以下两个条件:

The situations in which Lax cookies can be sent cross-site must satisfy both of the following:

  1. 该请求必须是顶级导航.您可以将其视为等同于网址栏中显示的网址更改(例如,用户单击链接以转到另一个站点.
  2. 请求方法必须是安全的(例如GET或HEAD,但不能是POST).

例如:

  1. 假设某用户位于site-a.com上,然后单击链接以访问site-b.com.这是一个跨站点的请求.这是顶级导航,是GET请求,因此Lax cookie被发送到site-b.com.但是,严格的cookie不会发送,因为它毕竟是跨站点请求.
  2. 用户位于site-a.com上,并且存在一个内嵌了site-b.com的iframe.这是跨网站的请求,但不是顶级导航(用户仍在site-a.com上,即,在加载iframe时,网址栏不会更改).因此,松懈或严格的cookie都不会发送到site-b.com.
  3. 用户位于site-a.com上,该站点将表单过帐到site-b.com.这是一个跨站点请求,但是方法(POST)是不安全的.它不符合Lax Cookie跨站点访问的条件,因此Lax和Strict Cookie均不会发送到site-b.com

这篇关于SameSite ="Lax"和"Sax"之间的区别是什么?和SameSite =“严格"?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆