Regla de restricción de dominio

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 7 de abril de 2022; la verificación requiere 1 edición .

La Política del Mismo Origen (Same Origin Policy  )  es  un concepto importante en el modelo de seguridad de aplicaciones web . Como parte de esta política, el navegador web permite que los scripts de una página web obtengan datos en una segunda página web, pero solo si ambas páginas web tienen el mismo origen ( Origin ). El origen consiste en una combinación de un URI de esquema, un nombre de dominio y un número de puerto. La política impide que los scripts maliciosos de una página web obtengan acceso a información confidencial en otra página web a través del árbol DOM de esa página .

Este mecanismo es de particular importancia para las aplicaciones web modernas que dependen en gran medida de las cookies HTTP para mantener sesiones de usuario autenticadas. Debido a que los servidores dependen de las cookies HTTP para divulgar información confidencial o realizar acciones de cambio de estado del lado del cliente, se debe mantener una segregación estricta del contenido proporcionado por sitios no relacionados para evitar la pérdida de datos confidenciales o la integridad de los datos comprometida.

Es muy importante recordar que el principio del mismo origen solo se aplica a los scripts. Esto significa que se puede acceder a recursos como imágenes, CSS y secuencias de comandos cargadas dinámicamente desde cualquier fuente a través de las etiquetas HTML adecuadas (excepto las fuentes). Los ataques se basan en el hecho de que el principio del mismo origen no se aplica a las etiquetas HTML.

Historia

El concepto del principio del mismo origen fue introducido por Netscape Navigator 2.02 en 1995, poco después de la introducción de JavaScript en Netscape 2.0. JavaScript hizo posible el uso de secuencias de comandos en páginas web, en particular, para obtener acceso programático al Modelo de Objetos de Documento (DOM).

El principio se diseñó originalmente para proteger el acceso al DOM, pero desde entonces se ha ampliado para proteger las partes sensibles de los objetos globales de JavaScript.

Lista de verificación

Para ilustrar, la siguiente tabla proporciona una descripción general de las comprobaciones típicas para compararlas con la URL de ejemplo "http://www.example.com/dir/page.html".

URL comparables Examen Causa
http://www.ejemplo.com/dir/pagina.html _ corresponde Mismo protocolo y dominio
http://www.ejemplo.com/dir2/otro.html _ corresponde Mismo protocolo y dominio
http:// usuario:contraseña @ www.ejemplo.com/dir2/otro.html corresponde Mismo protocolo y dominio
http://www.ejemplo.com:81/dir/otro.html _ _ No coincide Mismo protocolo y dominio pero diferente puerto
https://www.ejemplo.com/dir/otro.html _ No coincide El protocolo difiere
http://en.example.com/dir/other.html _ _ No coincide El dominio difiere
http://ejemplo.com/dir/otro.html _ _ No coincide El dominio difiere (se requiere coincidencia completa)
http://v2.www.ejemplo.com/dir/otro.html _ _ No coincide El dominio difiere (se requiere coincidencia completa)
http://www.ejemplo.com:80/dir/otro.html _ _ Indefinido Especificación de puerto explícita. Depende de la implementación en el navegador.

Véase también

Enlaces