Découvrez pourquoi l'isolement d'origine croisée est nécessaire pour utiliser des fonctionnalités puissantes telles que SharedArrayBuffer, performanceEn el caso de las webs, el término Performance o rendimiento, se refiere a la velocidad de carga o a la potencia de cálculo de un servidor, es decir, a la velocidad a la que se transmiten los datos del servidor al cliente. Razones para una buena performance Una web que se carga lentamente, puede animar a los clientes potenciales a abandonar la página. Para asegurar una interacción fluida, se tiene Suite.measureMemory()et la APIConcepto de API¿Qué es una API?Una API, siglas de Application Programming Interface o Interfaz de Programación de Apps, es un recopilatorio de código que se puede emplear para que varias apps se comuniquen entre ellas. Es algo que realiza una tarea equivalente a la interfaz de usuario al momento de promover la interacción entre persona y programa, solo que aplicado única y exclusivamente dentro del entorno del software.Aún cuando suene Suite de autoperfilado de JS.

Il apparaît dans:
Sûr et sécurisé

Présentation

En Cómo hacer que su sitio web sea «aislado de origen cruzado» utilizando COOP y COEP, explicamos cómo adoptar el estado «aislado de origen cruzado» utilizando COOP y COEP. Este es un artículo complementario que explica por qué se requiere el aislamiento de origen cruzado para habilitar funciones potentes en el le navigateurUn navegador (además: browser) es una herramienta informática que te permite ver documentos y datos y navegar por la red. Los navegadores pueden mostrar distintos tipos de recursos de información; principalmente documentos HTML, a pesar de todo, además son posibles otros tipos de archivos y contenido multimedia, como PDF, JPEG, MPEG, GIF o el lenguaje de meta marcado. A través el uso de complementos especiales y la configuración respectivo, los Suite.

Terme clé:
Cet article utilise de nombreuses terminologies similaires. Pour clarifier les choses, définissons-les:

Antécédents

La web se basa en la política del mismo origen: una característica de seguridad que restringe la forma en que los documentos y los scriptsConcepto de Scripts¿Qué son los Scripts?Los Scripts son fragmentos de código que se usan para dar forma a herramientas tanto en Internet como en el sector de la informática en general. Son una parte crucial del software, puesto que se trata exactamente del código que conforma a una aplicación en su totalidad o a una de sus funciones, como además el que puedes hallar explorando cómo está hecha una web.Desde Suite pueden interactuar con recursos de otro origen. Este principio restringe las formas en que los sitios web pueden acceder a los recursos de origen cruzado. Por ejemplo, un documento de httpsHTTPS (protocolo de Transferencia de Hiper-Texto) es un protocolo que permite determinar una conexión segura entre el servidor y el cliente, que no puede ser interceptada por personas no autorizadas. En resumidas cuentas, es la versión segura de el http (Hyper Text Transfer Protocol) Cómo funciona Una conexión HTTP estándar en Internet puede ser fácilmente secuestrada por partes no autorizadas. El propósito de una conexión HTTPS es evitar esto: encriptar Suite://a.example ne peut pas accéder aux données hébergées sur https://b.example.

Cependant, la politique de la même origine a connu quelques exceptions historiques. Tout site Web peut:

  • Incorporer des iframes d'origine croisée
  • Inclure des ressources d'origine croisée telles que des images ou des scripts
  • Ouvrir des fenêtres contextuelles d'origine croisée avec une référence DOM

Si le Web pouvait être conçu à partir de zéro, ces exceptions n'existeraient pas. Malheureusement, lorsque la communauté Web a réalisé les principaux avantages d'une politique stricte de même origine, le Web se reposait déjà sur ces exceptions.

Les effets secondaires sur la sécurité d'une telle politique laxiste de même origine ont été corrigés de deux manières. Une solution consistait à introduire un nouveau protocole appelé Partage de ressources inter-origines (CORS)
cuyo propósito es asegurarse de que el serveurLos servidores son ordenadores centrales y potentes dentro del campo de la tecnología de la información que procesan y proporcionan software y archivos en una red. Desde el punto de vista de un cliente, varios ordenadores en una red pueden ponerse en contacto con el servidor central para conseguir la información solicitada. En la arquitectura cliente-servidor, el servidor puede ser un software que proporciona un servicio y se ejecuta en Suite permita compartir un recurso con un origen determinado. La otra forma es eliminando implícitamente el acceso directo del script a los recursos de origen cruzado mientras se conserva la compatibilidad con versiones anteriores. Estos recursos de origen cruzado se denominan recursos «opacos». Por ejemplo, esta es la razón por la que manipular los píxeles de una imagen de origen cruzado mediante CanvasRenderingContext2D
échoue sauf si CORS est appliqué à l'image.

Toutes ces décisions politiques se produisent dans un groupe de contexte de navigation.

groupe-de-contexte-de-navigation-7003601

Durante mucho tiempo, la combinación de CORS y recursos opacos fue suficiente para que los navigateursConcepto de Navegadores¿Qué son los Navegadores?Los Navegadores son herramientas informáticas que utilizamos para, normalmente, navegar por Internet y visitar cualquier página web, al mismo tiempo de para hacer otras tareas como ver documentos, observar vídeos o reproducir contenido multimedia de cualquier tipo. Son un tipo de software sencillamente usual y bastante utilizado hoy en día.Insistimos en que es algo que se utiliza con mucha frecuencia, puesto que moverse por Internet Suite fueran seguros. A veces, casos extremos (como Vulnérabilités JSON) ont été découverts et devaient être corrigés, mais dans l'ensemble, le principe de ne pas autoriser l'accès en lecture directe aux octets bruts à partir de ressources d'origine croisée a réussi.

Tout cela a changé avec
Spectre, ce qui rend toutes les données chargées dans le même groupe de contexte de navigation que votre code potentiellement lisibles. Oui evil.com vous intégrez une image d'origine croisée, ils peuvent utiliser une attaque Spectre pour lire vos données de pixels, rendant inefficaces les protections qui reposent sur «l'opacité».

mal-acteur-4226335

Idéalement, toutes les demandes d'origine croisée doivent être examinées explicitement par le serveur propriétaire de la ressource. Si le serveur propriétaire des ressources ne fournit pas de vérification, les données n'atteindront jamais le groupe de contexte de navigation d'un acteur malveillant et resteront donc hors de portée de toute attaque Spectre qu'une page Web pourrait mener. Nous l'appelons un état d'origine croisée isolé. C'est exactement ce qu'est COOP + COEP.

Dans un état d'origine croisée isolé, le site demandeur est considéré comme moins dangereux et cela déverrouille des fonctionnalités puissantes telles que SharedArrayBuffer,
performance.measureMemory et l'API JS Self-Profiling qui pourrait autrement être utilisée pour des attaques de type Spectre. Évitez également de modifier document.domain.

Politique d'incorporation de l'origine croisée

Politique d'incorporation de l'origine croisée (COEP) empêche un document de charger des ressources d'origine croisée qui n'accordent pas explicitement l'autorisation du document (en utilisant CORP ou CORS). Avec cette fonction, vous pouvez déclarer qu'un document ne peut pas charger de telles ressources.

coep-2483234

Para activar esta política, agregue el siguiente encabezado HTTPEl HTTP (Hyper Text Transfer Protocol) es un protocolo que se usa para transmitir datos en redes. HTTP es un estándar técnico generalmente aceptado que establece cómo un cliente web se comunica con un servidor para que los datos solicitados por el cliente puedan ser cargados y mostrados. Información general Junto con el URL y el HTML, HTTP es uno de los conceptos más importantes de Internet (www). Fue desarrollado Suite al documento:

 require-corp

Les require-corp La Mot-cléPor definición, una palabra clave, (keyword en inglés), es una palabra informativa utilizada en un sistema de recuperación de información para indicar el contenido de un documento con la expectativa de un resultado de búsqueda coincidente. Herramientas de palabras clave La búsqueda de palabras clave para proyectos web individuales se ve enormemente facilitada por útiles herramientas. Al mismo tiempo, las herramientas de palabras clave ayudan mucho en la optimización del Suite es el único valor aceptado para COEP. Esto aplica la política de que el documento solo puede cargar recursos del mismo origen o recursos marcados explícitamente como cargables desde otro origen.

Pour que les ressources soient chargées à partir d'une autre source, elles doivent prendre en charge le partage de ressources inter-origines (CORS) ou la politique de ressources inter-origines (CORP).

Partage de ressources cross-origin

Si une ressource d'origine croisée prend en charge Partage de ressources inter-origines (CORS), vous pouvez utiliser le
crossorigin

attribut
pour le télécharger sur votre site Web sans être bloqué par COEP.

<img src="https://third-party.example.com/image.jpg" crossorigin>

Por ejemplo, si este recurso de imagen se sirve con en-têtesConcepto de Encabezados¿Qué son los Encabezados?Los Encabezados, además conocidos como headers en inglés, son una parte fundamental del diseño de cualquier web, dado que consiste en la parte principal que se ve de esta al acceder, la parte de arriba de cualquier página. El lugar más visible y al que todos los usuarios que visitan un lugar de Internet acceden cuando entran en él, pudiendo tener así una imagen rápida Suite CORS, use el
crossorigin attributAtributo es una definición que se usa en varios campos de IT. Generalmente, un atributo se usa para describir un fichero o un campo de datos con más detalle. En la programación orientada a objetos, los atributos son una propiedad o característica que se puede asignar a un objeto (elemento). A través el uso de atributos se pueden asignar valores específicos a ciertos items. Áreas de aplicación Las tres áreas Suite para que la solicitud para obtener el recurso utilice Mode CORS. Cela empêche également l'image de se charger à moins que vous ne définissiez des en-têtes CORS.

De même, vous pouvez obtenir des données d'origine croisée via le aller chercher () méthode, qui ne nécessite aucune manipulation particulière tant que le serveur répond avec les en-têtes HTTP corrects.

Politique de ressources inter-origines

Politique de ressources inter-origines (CORP)
il a été initialement introduit comme une option pour protéger vos ressources contre le téléchargement par une autre source. Dans le contexte de COEP, CORP peut spécifier la politique du propriétaire de la ressource sur qui peut télécharger une ressource.

Les Politique de ressources inter-origines l'en-tête prend trois valeurs possibles:

 même site

Ressources marquées même site il ne peut être téléchargé qu'à partir du même site.

 même origine

Ressources marquées même origine il ne peut être chargé qu'à partir de la même source.

 origine croisée

Ressources marquées origine croisée peuvent être téléchargés sur n'importe quel site Web. (Cette valeur a été ajouté à la spécification CORP avec COEP.)

Une fois que vous avez ajouté l'en-tête COEP, vous ne pouvez pas contourner la restriction en utilisant des techniciens de service. Si le document est protégé par un en-tête COEP, la stratégie est respectée avant que la réponse n'entre dans le processus de document, ou avant qu'elle n'entre dans le service worker qui contrôle le document.

Politique d'ouverture d'origine croisée

Politique d'ouverture de plusieurs origines (COOP) vous permet de vous assurer qu'une fenêtre de niveau supérieur est isolée des autres documents en les plaçant dans un groupe de contexte de navigation différent afin qu'ils ne puissent pas interagir directement avec la fenêtre de niveau supérieur. Par exemple, si un document avec COOP ouvre une fenêtre contextuelle, son
window.opener la propriété sera nul. Lui aussi .fermé la propriété de la référence de l'ouvreur retournera vrai.

coop1-5099034

Les Politique d'ouverture des origines croisées l'en-tête prend trois valeurs possibles:

 même origine

Documents marqués même origine vous pouvez partager le même groupe de contexte de navigation avec des documents de même origine qui sont également explicitement marqués même origine.

coop2-4629616

 popups de même origine

Un document de haut niveau avec popups de même origine conserve les références à l'une de vos fenêtres contextuelles qui ne définissent pas COOP ou choisissent de sortir de l'isolement en définissant une COOP de dangereux-aucun.

coop3-3834529

 dangereux-aucun

dangereux-aucun est la valeur par défaut et permet au document d'être ajouté au groupe de contexte de scan de son ouvreur à moins que l'ouvreur n'ait un COOP de même origine.

Les
noopener

L'attribut a un effet similaire à ce que vous attendez de COOP, sauf qu'il ne fonctionne que du côté ouvreur. (Vous ne pouvez pas dissocier votre fenêtre lorsqu'elle est ouverte par un tiers.) Lorsqu'il est attaché noopener faire quelque chose comme
window.open(URLEl URL (Localizador Uniforme de Recursos), es una dirección definida que apunta a la posición de un archivo en un servidor y lo recupera. Las URL se introducen en un navegador web para ingresar a documentos en la web o se incrustan como hipervínculos dentro de un documento. Se puede usar un Permalink para que una URL esté disponible de forma permanente. Componentes de una URL • prefijo de protocolo Suite, '_blank', 'noopener') ou <a target="_blank" rel="noopener">, vous pouvez délibérément dissocier votre fenêtre de la fenêtre ouverte.

Alors que noopener peut être remplacé par COOP, il est toujours utile lorsque vous souhaitez protéger votre site Web dans des navigateurs qui ne prennent pas en charge COOP.

résumé

Si vous voulez un accès garanti à des fonctionnalités puissantes telles que SharedArrayBuffer,
performance.measureMemory o API d'auto-profilage JS, rappelez-vous simplement que votre document doit utiliser COEP avec la valeur de require-corp et COOP avec la valeur de même origine. En l'absence de l'un d'entre eux, le navigateur ne garantira pas une isolation suffisante pour activer en toute sécurité ces fonctionnalités puissantes. Vous pouvez déterminer l'état de votre page en vérifiant si
self.crossOriginIsolated

Retour vrai.

Découvrez les étapes à suivre pour mettre en œuvre cela dans Comment rendre votre site Web «cross-origin isolé» à l'aide de COOP et COEP.

Ressources