Attributs de réglage du CORS
En HTML5, certains des éléments HTML supportant le CORS (Cross-Origin Resource Sharing) comme les éléments <img>
, <video>
ou <script>
, ont un attribut crossorigin
(propriété crossOrigin
), qui permet de configurer les requêtes CORS pour les données de l'élément à renvoyer. Ces attributs sont listés ci-après avec les valeurs qu'ils peuvent avoir :
Mot-clé | Description |
anonymous |
Les requêtes CORS pour cet élément auront le marqueur d'authentification (credentials flag) avec la valeur 'same-origin' . |
use-credentials |
Les requêtes CORS pour cet élément auront le marqueur d'authentification (credentials flag) avec la valeur 'include' . |
"" |
Utiliser la chaîne vide (crossorigin="" ) ou l'attribut seul (crossorigin ) sera équivalent à l'utilisation de la valeur anonymous . |
Par défaut (quand l'attribut n'est pas spécifié), le CORS n'est pas du tout utilisé. Le mot-clé anonymous
signifie que, lorsqu'il n'y a pas la même origine, il n'y aura ni échange d'informations d'authentification de l'utilisateur via des cookies, ni des certificats SSL côté client ou des authentifications HTTP comme détaillé dans la section terminologique de la spécification CORS.
Un mot-clé invalide ou une chaîne de caractères vide seront interprétés comme le mot-clé anonymous
.
Exemple : utiliser crossorigin
avec l'élément script
On peut utiliser l'élément <script>
afin d'indiquer au navigateur d'exécuter un script (ici, https://exemple.com/framework-exemple.js
) sans envoyer les informations d'authentification de l'utilisateur.
<script src="https://exemple.com/framework-exemple.js"
crossorigin="anonymous">
</script>
Exemple : utiliser des informations d'authentification avec un manifeste
La valeur use-credentials
doit être utilisée lorsqu'on récupère un manifeste nécessitant des informations d'authentification, y compris lorsque le fichier provient de la même origine :
<link rel="manifest" href="/app.manifest" crossorigin="use-credentials">
Spécifications
Spécification | État | Commentaires |
---|---|---|
HTML Living Standard La définition de 'CORS settings attributes' dans cette spécification. |
Standard évolutif | |
HTML Living Standard La définition de 'crossorigin' dans cette spécification. |
Standard évolutif |
Compatibilité du navigateur
L'attribut crossorigin pour
BCD tables only load in the browser
L'attribut crossorigin pour
BCD tables only load in the browser