Nuestro team de expertos pasados ciertos días de trabajo y recopilar de datos, dimos con los datos necesarios, nuestro deseo es que todo este artículo sea de gran utilidad para tu plan.
los SameSite
attribute de El Set-Cookie
El encabezado de respuesta HTTP le permite declarar si su cookie debe restringirse a un contexto propio o del mismo sitio.
Valores
los SameSite
attribute acepta tres valores:
Lax
Las cookies pueden enviarse con navegaciones de nivel superior y se enviarán junto con la solicitud GET iniciada por el sitio web de un tercero. Este es el valor predeterminado en los navegadores modernos.
Strict
Las cookies solo se enviarán en un contexto propio y no se enviarán junto con las solicitudes iniciadas por sitios web de terceros.
None
Las cookies se enviarán en todos los contextos, es decir, se permite el envío de origen cruzado.
None
solía ser el valor predeterminado, pero las versiones recientes del navegador Lax
el valor predeterminado para tener una defensa razonablemente sólida contra algunas clases de falsificación de solicitudes entre sitios (CSRF) ataques.
None
requiere el Secure
attribute en las últimas versiones del navegador. Vea abajo para más información.
Corregir advertencias comunes
SameSite=None
requiere Secure
La siguiente advertencia puede aparecer en su consola:
Algunas cookies hacen un mal uso del “mismo sitio” attribute, por lo que no funcionará como se esperaba.
Galleta “myCookie“Rechazado porque tiene el” sameSite = none ” attribute pero le falta el “seguro” attribute.
La advertencia aparece porque cualquier cookie que solicita SameSite=None
pero no esta marcado Secure
será rechazado.
Set-Cookie: flavor=choco; SameSite=None
Para solucionar este problema, deberá agregar el Secure
attribute para usted SameSite=None
galletas.
Set-Cookie: flavor=choco; SameSite=None; Secure
A Secure
La cookie solo se envía al servidor con una solicitud encriptada a través del protocolo HTTPS. Tenga en cuenta que los sitios inseguros (http:
) no puede configurar cookies con el Secure
directiva.
Cookies sin SameSite
predeterminado a SameSite=Lax
Las versiones recientes de los navegadores modernos proporcionan un valor predeterminado más seguro para SameSite
a sus cookies, por lo que puede aparecer el siguiente mensaje en su consola:
Algunas cookies hacen un mal uso del “mismo sitio” attribute, por lo que no funcionará como se esperaba.
Galleta “myCookie“Tiene la política” sameSite “establecida en” lax “porque le falta un” sameSite ” attributey “sameSite = lax” es el valor predeterminado para este attribute.
La advertencia aparece porque el SameSite
La política para una cookie no se ha especificado explícitamente:
Set-Cookie: flavor=choco
Si bien puede confiar en los navegadores modernos para aplicar SameSite=Lax
automáticamente, debe especificarlo explícitamente para comunicar claramente su intención, que SameSite
La política se aplica a su cookie. Esto también mejorará la experiencia en todos los navegadores, ya que no todos están predeterminados Lax
todavía.
Set-Cookie: flavor=choco; SameSite=Lax
Ejemplo:
RewriteEngine on RewriteBase "/" RewriteCond "%HTTP_HOST" "^example.org$" [NC] RewriteRule "^(.*)" "https://www.example.org/index.html" [R=301,L,QSA] RewriteRule "^(.*).ht$" "index.php?nav=$1 [NC,L,QSA,CO=RewriteRule;01;https://www.example.org;30/;SameSite=None;Secure] RewriteRule "^(.*).htm$" "index.php?nav=$1 [NC,L,QSA,CO=RewriteRule;02;https://www.example.org;30/;SameSite=None;Secure] RewriteRule "^(.*).html$" "index.php?nav=$1 [NC,L,QSA,CO=RewriteRule;03;https://www.example.org;30/;SameSite=None;Secure] [...] RewriteRule "^admin/(.*).html$" "admin/index.php?nav=$1 [NC,L,QSA,CO=RewriteRule;09;https://www.example.org:30/;SameSite=Strict;Secure]
Especificaciones
Especificación | Título |
---|---|
RFC 6265, sección 4.1: Establecer cookies | Mecanismo de gestión de estado HTTP |
borrador-ietf-httpbis-rfc6265bis-05 | Prefijos de cookies, cookies del mismo sitio y cookies estrictamente seguras |
Compatibilidad del navegadorActualizar datos de compatibilidad en GitHub
Escritorio | ||||||
---|---|---|---|---|---|---|
Cromo | Borde | Firefox | explorador de Internet | Ópera | Safari | |
Set-Cookie |
sí | 12 | sí | sí | sí | sí |
HttpOnly |
1 | 12 | 3 | 9 | 11 | 5 |
Max-Age |
sí | 12 | sí | 8 | sí | sí |
SameSite |
51 | dieciséis | 60 | No | 39 | 13
|
SameSite : SameSite=Lax |
51 | dieciséis | 60 | No | 39 | 12 |
SameSite : Predeterminado en Lax |
80 | 80 | 69Discapacitado
|
No | 67 | No |
SameSite : SameSite=None |
51 | dieciséis | 60 | No | 39 | 13
|
SameSite : SameSite=Strict |
51 | dieciséis | 60 | No | 39 | 12 |
SameSite : Se requiere un contexto seguro |
80 | 80 | 69Discapacitado
|
No | 67 | No |
Prefijos de cookies | 49 | 79 | 50 | No | 36 | sí |
Móvil | ||||||
---|---|---|---|---|---|---|
Vista web de Android | Chrome para Android | Firefox para Android | Opera para Android | Safari en iOS | Internet de Samsung | |
Set-Cookie |
sí | sí | sí | sí | sí | sí |
HttpOnly |
37 | sí | 4 | sí | 4 | sí |
Max-Age |
sí | sí | sí | sí | sí | sí |
SameSite |
51 | 51 | 60 | 41 | 13
|
5,0 |
SameSite : SameSite=Lax |
51 | 51 | 60 | 41 | 12,2 | 5,0 |
SameSite : Predeterminado en Lax |
80 | 80 | No | No | No | No |
SameSite : SameSite=None |
51 | 51 | 60 | 41 | 13 | 5,0 |
SameSite : SameSite=Strict |
51 | 51 | 60 | 41 | 12,2 | 5,0 |
SameSite : Se requiere un contexto seguro |
80 | 80 | No | No | No | No |
Prefijos de cookies | 49 | 49 | 50 | 36 | sí | 5,0 |
Ver también
- Cookies HTTP
Cookie
Document.cookie
© 2005–2020 Mozilla y colaboradores individuales.
Con licencia de Creative Commons Attribution-ShareAlike License v2.5 o posterior.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite
Al final de la post puedes encontrar las notas de otros usuarios, tú igualmente tienes la habilidad dejar el tuyo si dominas el tema.