CSP : connect-src
Baseline
Widely available
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 connect-src restreint les URL qui peuvent être chargées en utilisant des interfaces de programmation. Les API concernées sont :
<a>et l'attributping,fetch(),XMLHttpRequest,WebSocket,EventSource,Navigator.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 (en anglais).
| Version de CSP | 1 |
|---|---|
| Type de directive | Directive de récupération |
Utilisation de default-src par défaut |
Oui, si cette directive est absente, l'agent utilisateur consultera la directive default-src.
|
Syntaxe
Une ou plusieurs sources peuvent être autorisées pour cette directive :
Content-Security-Policy: connect-src <source>;
Content-Security-Policy: connect-src <source> <source>;
Sources
<source> peut être n'importe quelle valeur parmi celles énumérées dans l'article sur les valeurs sources CSP.
On notera que cet ensemble de valeurs peut être utilisé pour toutes les directives de récupération (et pour certaines autres directives).
Exemples
>Cas de violation
Soit cet en-tête CSP :
Content-Security-Policy: connect-src https://example.com/
Les connexions suivantes seront bloquées et ne se chargeront pas :
<a ping="https://not-example.com"></a>
<script>
let xhr = new XMLHttpRequest();
xhr.open('GET', 'https://not-example.com/');
xhr.send();
let ws = new WebSocket("https://not-example.com/");
let es = new EventSource("https://not-example.com/");
navigator.sendBeacon("https://not-example.com/", { ... });
</script>
Spécifications
| Specification |
|---|
| Content Security Policy Level 3> # directive-connect-src> |
Compatibilité des navigateurs
Chargement…
Notes de compatibilité
- Avant Firefox 23,
xhr-srcétait utilisé en lieu et place de la directiveconnect-srcet ne s'appliquait qu'à l'APIXMLHttpRequest.
Voir aussi
Content-Security-Policy<a>et l'attributpingfetch()XMLHttpRequestWebSocketEventSource