Same-Origin Policy

Política del mismo origen o SOP es una política que le dice al navegador web cómo interactuar entre las páginas. De acuerdo con esta política, un script en una página web puede acceder a información en otra sólo si las dos páginas comparten el mismo origen. Este origen se define combinando el esquema URI, el hostname y el puerto.

Understanding SOP

Esta política está diseñada para evitar que un script malicioso en una página acceda a la información sensible en otra a través del navegador.


Ejemplos de SOP

  1. Mismo dominio, distinto puerto: Un script de https://test.com:80 puede acceder a información de https://test.com:80/about, pero no de https://test.com:8080.
  2. Interacción HTTP/HTTPS: Un script en ejecución en http://test.com (HTTP no seguro) no tiene permitido acceder a recursos en https://test.com (HTTP seguro), incluso aunque comparten dominio porque sus protocolos son diferentes.

Confusiones Comunes

  1. Scope de SOP: Es comúnmente confundido que SOP sólo aplica a scripts. En realidad, aplica a todos los aspectos de la página web, incluyendo imágenes incrustadas, hojas de estilos y marcos.
  2. SOP restringe todas las interacciones Cross-Origin: Otro error común es pensar que SOP previene todas las interacciones cross-site.
  3. Mismo dominio implica mismo origen: La gente suele pensar que dos URLs que comparten el mismo dominio son el mismo origen. Sin embargo, SOP también considera el protocolo y el puerto.

Proceso de Decisión SOP

Understanding SOP

La tabla de flujo de arriba muestra la secuencia de comprobaciones que un navegador realiza bajo SOP:

  1. Primero comprueba los protocolos.
  2. Luego los hostnames.
  3. Y por último los puertos.

Si todas coinciden se permite, si no se bloquea.