Cookie
SameSite
Es un atributo de las cookies que especifica a los navegadores cuándo deben incluir las cookies de un sitio web en las solicitudes que se originan en otros sitios web.
Strict
El navegador no envía la cookie en ninguna solicitud entre sitios.
Lax
El navegador solo envía la cookie en solicitudes entre sitios, pero solo si se cumplen las dos condiciones siguientes:
La solicitud utiliza el método
GET
.La solicitud fue el resultado de una navegación de nivel superior por parte del usuario, como hacer clic en un enlace.
Esto significa que la cookie no se incluye en las solicitudes entre sitios con método POST
. Asimismo, la cookie no se incluye en solicitudes realizada desde JavaScript, iframes o referencias a imágenes y otros recursos.
None
El navegador no aplica ninguna medida adicional. La cookie se envía con todas las solicitudes entre sitios. Al configurar una cookie con SameSite=None
, también se debe incluir el atributo Secure
, que garantiza que la cookie solo se envíe a través de HTTPS. De lo contrario, los navegadores rechazarán la cookie y no se configurará.
Link
<a href=""></a>
(*) No establecido SameSite=None SameSite=Lax
Prerender
<link rel="prerender" href=""/>
(*) No establecido SameSite=None SameSite=Lax
Form GET
<form method="GET" action="">
(*) No establecido SameSite=None SameSite=Lax
Form POST
<form method="POST" action="">
SameSite=None
iframe
<iframe src=""></iframe>
SameSite=None
JavaScript
var xhr = new XMLHttpRequest();
xhr.open("GET", "", false);
xhr.withCredentials = true;
xhr.send();
SameSite=None
Image
<img src=""/>
SameSite=None
(*) Desde 2021, Chrome aplica restricciones SameSite=Lax
de manera predeterminada en aquellas cookies cuyo sitio emisor no especifique explícitamente un nivel de restricción mediante el atributo SameSite
.
same-site vs same-origin
same-site: combinación de un esquema y la última parte del nombre de dominio, es decir, el dominio de nivel superior (TLD), por ejemplo
.com
, más un nivel adicional del nombre de dominio, que se suele denominar TLD+1.same-origin: combinación de un esquema, un nombre de dominio y un número de puerto.
http://es.example.com/
http://example.com/
Si
http://example.com:8080/
http://example.com/
Si
http://example.org/
http://example.com/
No
https://example.com/
http://example.com/
No
Última actualización