Content-Security-Policy : directive connect-src
Baseline
Large disponibilité
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis novembre 2016.
La directive HTTP Content-Security-Policy (CSP) connect-src restreint les URL qui peuvent être chargées en utilisant des interfaces de programmation. Les API suivantes sont contrôlées par cette directive :
- L'attribut
pingdans l'élément HTML<a> fetch()fetchLater()XMLHttpRequestWebSocketEventSourceNavigator.sendBeacon()
Note :
connect-src 'self' ne s'applique pas aux schémas de websocket pour tous les navigateurs. Pour plus d'informations, consulter ce ticket (angl.).
| Version de CSP | 1 |
|---|---|
| Type de directive | Directive de récupération |
Solution de repli default-src |
Oui, si cette directive est absente, l'agent utilisateur consultera la directive default-src.
|
Syntaxe
Content-Security-Policy: connect-src 'none';
Content-Security-Policy: connect-src <source-expression-list>;
Cette directive peut avoir l'une des valeurs suivantes :
'none'-
Aucune ressource de ce type ne peut être chargée. Les guillemets simples sont obligatoires.
<source-expression-list>-
Une liste d'expressions de source séparées par des espaces. Les ressources de ce type peuvent être chargées si elles correspondent à l'une des expressions de source données. Pour cette directive, les valeurs d'expression de source suivantes sont applicables :
Exemples
>Cas de violation
Soit cet en-tête CSP :
Content-Security-Policy: connect-src https://exemple.com/
Les connexions suivantes seront bloquées et ne se chargeront pas :
<a ping="https://hors-exemple.com" href="/">Lien</a>
<script>
const reponse = fetch("https://hors-exemple.com/");
const xhr = new XMLHttpRequest();
xhr.open("GET", "https://hors-exemple.com/");
xhr.send();
const ws = new WebSocket("wss://hors-exemple.com/");
const es = new EventSource("https://hors-exemple.com/");
navigateur.sendBeacon("https://hors-exemple.com/", {
/* … */
});
</script>
Spécifications
| Spécification |
|---|
| Content Security Policy Level 3> # directive-connect-src> |
Compatibilité des navigateurs
Voir aussi
- L'en-tête
Content-Security-Policy - L'élément HTML
<a>et son attributping - La méthode API
fetch() - L'interface API
XMLHttpRequest - L'interface API
WebSocket - L'interface API
EventSource