CSP : connect-src

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since August 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 :

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 :

http
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 :

http
Content-Security-Policy: connect-src https://example.com/

Les connexions suivantes seront bloquées et ne se chargeront pas :

html
<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

BCD tables only load in the browser

Notes de compatibilité

  • Avant Firefox 23, xhr-src était utilisé en lieu et place de la directive connect-src et ne s'appliquait qu'à l'API XMLHttpRequest.

Voir aussi