La definición de "mismo sitio" está evolucionando para incluir el esquema de URL, de modo que los vínculos entre las versiones HTTP y HTTPS de un sitio ahora cuentan como solicitudes entre sitios. Actualiza a HTTPS de forma predeterminada para evitar problemas siempre que sea posible, o bien sigue leyendo para conocer los detalles sobre los valores de atributos de SameSite que se necesitan.
Esquema SameSite modifica la definición de un sitio (web) del dominio registrable al esquema + dominio registrable. Puedes encontrar más detalles y ejemplos en Acerca de "same-site" y “same-origin”.
La buena noticia es que, si tu sitio web ya está completamente actualizado a HTTPS, no necesitan preocuparse por nada. Nada cambiará para ti.
Si aún no actualizaste por completo tu sitio web, esta debería ser la prioridad.
Sin embargo, si hay casos en los que los visitantes de su sitio irán entre HTTP y
HTTPS, entonces, algunas de esas situaciones comunes y la cookie SameSite
asociada
del modelo de AA se describen a continuación.
Puedes habilitar estos cambios para realizar pruebas en Chrome y Firefox.
- En Chrome 86, habilita
about://flags/#schemeful-same-site
. Progreso de la pista en la pestaña Estado de Chrome . - En Firefox 79, establece
network.cookie.sameSite.schemeful
entrue
medianteabout:config
Monitorea el progreso a través de la Bugzilla. problema.
Una de las razones principales para cambiar a SameSite=Lax
como la opción predeterminada para
cookies fue para protegerlos contra la falsificación de solicitudes entre sitios
(CSRF). Sin embargo,
el tráfico HTTP no seguro aún presenta una oportunidad para que los atacantes de red
manipular cookies que luego se usarán en la versión HTTPS segura de la
. Crear este límite adicional entre sitios
una mayor defensa contra estos ataques.
Situaciones comunes de esquema cruzado
Navegación
Navegar entre las versiones de un sitio web en diferentes esquemas (por ejemplo, vincular desde
http://site.example a https://site.example) anteriormente permitirían
SameSite=Strict
cookies por enviar. Ahora se trata como un tráfico entre sitios
navegación, lo que significa que se bloquearán las cookies de SameSite=Strict
.
![Una navegación entre esquemas activada por medio de un vínculo en la versión HTTP insegura de un sitio que dirige a la versión HTTPS segura. SameSite=Cookies estrictas bloqueadas, SameSite=Lax y SameSite=None Se permiten las cookies seguras.](https://web.dev/static/articles/schemeful-samesite/image/a-cross-scheme-navigation-209071cf80318.png?authuser=7&hl=es)
HTTP → HTTPS | HTTPS → HTTP | |
SameSite=Strict
|
⛔ Bloqueado | ⛔ Bloqueado |
SameSite=Lax
|
✓ Se permite | ✓ Se permite |
SameSite=None;Secure
|
✓ Se permite | ⛔ Bloqueado |
Cargando subrecursos
Cualquier cambio que realices aquí debe considerarse como solución temporal mientras trabajar para actualizar a HTTPS completo.
Algunos ejemplos de subrecursos incluyen las imágenes, los iframes y las solicitudes de red realizadas con XHR o Fetch.
Antes, cargar un subrecurso de esquema cruzado en una página permitía
SameSite=Strict
o SameSite=Lax
cookies que se enviarán o configurarán. Ahora, esto es
de la misma manera que a cualquier otro subrecurso externo o entre sitios que
significa que se bloquearán las cookies de SameSite=Strict
o SameSite=Lax
.
Además, aunque el navegador permita que los recursos de esquemas no seguros
se carguen en una página segura, se bloquearán todas las cookies en estas solicitudes ya que
las cookies de terceros o entre sitios requieren Secure
.
![Un subrecurso de esquema cruzado que resulta de un recurso de la versión HTTPS segura del sitio que se incluye en la versión HTTP no segura. SameSite=Strict y SameSite=Lax cookies blocked, y SameSite=None; Se permiten las cookies seguras.](https://web.dev/static/articles/schemeful-samesite/image/a-cross-scheme-subresourc-ee291fec730b8.png?authuser=7&hl=es)
HTTP → HTTPS | HTTPS → HTTP | |
SameSite=Strict
|
⛔ Bloqueado | ⛔ Bloqueado |
SameSite=Lax
|
⛔ Bloqueado | ⛔ Bloqueado |
SameSite=None;Secure
|
✓ Se permite | ⛔ Bloqueado |
PUBLICAR un formulario
Antes, publicar contenido entre las versiones de varios esquemas de un sitio web permitía
cookies configuradas con SameSite=Lax
o SameSite=Strict
que deben enviarse. Ahora, esto es
Se tratan como solicitudes POST entre sitios: solo se pueden enviar cookies de SameSite=None
. Puedes
se encuentran con este caso en sitios
que presentan la versión no segura de forma predeterminada
pero actualizar a los usuarios a la versión segura cuando se envía la información de acceso
formulario de pago.
Al igual que con los subrecursos, si la solicitud proviene de un recurso seguro, p.ej., HTTPS a un
inseguro, por ejemplo, HTTP, el contexto, se bloquearán todas las cookies en estas solicitudes
ya que las cookies de terceros o entre sitios requieren Secure
.
![El envío de un formulario de esquema cruzado que se genera a partir de un formulario en la versión HTTP no segura del sitio que se envía a la versión HTTPS segura. SameSite=Strict y SameSite=Lax cookies blocked, y SameSite=None; Se permiten las cookies seguras.](https://web.dev/static/articles/schemeful-samesite/image/a-cross-scheme-form-submi-528e4c1eb4c83.png?authuser=7&hl=es)
HTTP → HTTPS | HTTPS → HTTP | |
SameSite=Strict
|
⛔ Bloqueado | ⛔ Bloqueado |
SameSite=Lax
|
⛔ Bloqueado | ⛔ Bloqueado |
SameSite=None;Secure
|
✓ Se permite | ⛔ Bloqueado |
¿Cómo puedo probar mi sitio?
Las herramientas y los mensajes para desarrolladores están disponibles en Chrome y Firefox.
A partir de Chrome 86, la pestaña Problema en Las Herramientas para desarrolladores incluyen problemas de Schemeful Same-Site. Es posible que veas los siguientes problemas destacados para tu sitio.
Problemas de navegación:
- "Migrar completamente a HTTPS para que se sigan enviando cookies en el mismo sitio" solicitudes": una advertencia de que la cookie se bloqueará en una versión futura de Chrome.
- “Migrar íntegramente a HTTPS para que se envíen cookies en solicitudes del mismo sitio”: A advertir que se bloqueó la cookie;
Problemas con la carga de subrecursos:
- "Migrar completamente a HTTPS para que las cookies se sigan enviando al mismo sitio" subrecursos" o "Migrar completamente a HTTPS para que se sigan permitiendo las cookies set by same-site subresources”: advertencias de que la cookie será en una versión futura de Chrome.
- "Migrar completamente a HTTPS para que las cookies se envíen a subrecursos del mismo sitio" o "Migrar completamente a HTTPS para permitir que el mismo sitio establezca las cookies subresources": advertencias de que se bloqueó la cookie Esta última También puede aparecer una advertencia cuando se publica un formulario.
Obtén más información en el artículo Sugerencias para pruebas y depuración de Schemeful. SameSite
En Firefox 79, con network.cookie.sameSite.schemeful
configurado como true
mediante
about:config
, la consola mostrará un mensaje para los problemas de Schemeful Same-Site.
Es posible que veas lo siguiente en tu sitio:
- "La cookie
cookie_name
pronto se tratará como cookie entre sitios dehttp://site.example/
porque el esquema no coincide”. - "La cookie
cookie_name
se ha tratado como entre sitios contrahttp://site.example/
porque el esquema no coincide”.
Preguntas frecuentes
Mi sitio ya está completamente disponible en HTTPS. ¿Por qué veo problemas en las Herramientas para desarrolladores de mi navegador?
Es posible que algunos de tus vínculos y subrecursos de todos modos apunten a contenido inseguro URLs.
Una forma de solucionar este problema es usar HTTP
Seguridad de transporte estricta
(HSTS) y la directiva includeSubDomain
. Con HSTS + includeSubDomain
pares
Si una de tus páginas incluye accidentalmente un vínculo no seguro, el navegador
usa automáticamente la versión segura.
¿Qué sucede si no puedo actualizar a HTTPS?
Si bien te recomendamos que actualices todo el sitio a HTTPS, proteger a tus usuarios. Si no puedes hacerlo tú mismo, te sugerimos que hables con tu proveedor de hosting para ver si te puede ofrecer esa opción. Si eres autoorganizado, Let's Encrypt ofrece varias herramientas para instalar y configurar un certificado. También puedes investigar cómo trasladar tu sitio detrás de una CDN o de otro proxy que pueda proporcionar la conexión HTTPS.
Si aún no es posible, intenta relajar la protección de SameSite
en
cookies afectadas.
- En los casos en que solo se bloquean las cookies de
SameSite=Strict
, puedes reducir la protección aLax
. - En los casos en que se bloqueen las cookies de
Strict
yLax
y su se envían (o se configuran desde) una URL segura en la que puedes reducir protecciones aNone
.- Esta solución alternativa fallará si la URL a la que envías las cookies (o
configurarlos) no es seguro. Esto se debe a que
SameSite=None
requiere el elemento el atributoSecure
en las cookies, lo que significa que es posible que esas cookies no se envíen o a través de una conexión no segura. En este caso, no podrás acceder esa cookie hasta que tu sitio se actualice a HTTPS. - Recuerda que esto es temporal ya que, con el tiempo, las cookies de terceros se eliminará por completo.
- Esta solución alternativa fallará si la URL a la que envías las cookies (o
configurarlos) no es seguro. Esto se debe a que
¿Cómo afecta esto a mis cookies si no especifico un atributo SameSite
?
Las cookies sin un atributo SameSite
se tratan como si se especificaran
SameSite=Lax
y el mismo comportamiento de esquema cruzado se aplica a estas cookies que
en la nube. Ten en cuenta que aún se aplica la excepción temporal a los métodos no seguros, consulta
la mitigación de Lax + POST en Chromium SameSite
Preguntas frecuentes para obtener más información.
¿Cómo se ven afectados los WebSockets?
Las conexiones de WebSocket se seguirán considerando del mismo sitio si son iguales. seguridad como la página.
Mismo sitio:
- Conexión de
wss://
desdehttps://
- Conexión de
ws://
desdehttp://
Entre sitios:
- Conexión de
wss://
desdehttp://
- Conexión de
ws://
desdehttps://
Foto de Julissa Capdevilla activado Eliminar salpicadura