recursal/MDN huggingface dataset:
CSP: report-to
==============

La directive HTTP `Content-Security-Policy` (CSP) **`report-to`** demande à l'agent utilisateur de rapporter les violations de règles CSP à l'adresse fournie dans un groupe de l'en-tête HTTP `Report-To`.
```

Content-Security-Policy: ...; report-to groupname
```


Cette directive n'a aucun effet en elle-même, mais prend tout son sens en étant combinée à d'autres directives.

|  |  |
| --- | --- |
| Version de CSP | 1 |
| Type de directive | Reporting directive |
| 
 This directive is not supported in the `<meta>`
 element.
  |

Syntaxe
-------
```

Content-Security-Policy: report-to <json-field-value>;
```

Exemples
--------

Voir `Content-Security-Policy-Report-Only` pour plus d'informations et d'exemples.
```

Report-To: { "group": "csp-endpoint",
              "max_age": 10886400,
              "endpoints": [
                { "url": "https://example.com/csp-reports" }
              ] },
            { "group": "hpkp-endpoint",
              "max_age": 10886400,
              "endpoints": [
                { "url": "https://example.com/hpkp-reports" }
              ] }
Content-Security-Policy: ...; report-to csp-endpoint
```


```
Report-To: { "group": "endpoint-1",
              "max_age": 10886400,
              "endpoints": [
                { "url": "https://example.com/reports" },
                { "url": "https://backup.com/reports" }
              ] }

Content-Security-Policy: ...; report-to endpoint-1
```

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Content-Security-Policy`
* `Content-Security-Policy-Report-Only`
CSP: plugin-types
=================

La directive HTTP `Content-Security-Policy` (CSP) **`plugin-types`** restreint l'ensemble des greffons pouvant être intégrés dans un document en limitant les types de ressources pouvant être chargées.

L'instanciation d'éléments `<embed>`, `<object>` ou `<applet>` échouera si :

* l'élément à charger ne déclarer pas de type MIME valide,
* le type déclaré ne correspond pas à un des types spécifiés dans la directive `plugin-types`,
* les ressources demandées ne correspondent pas au type déclaré.

|  |  |
| --- | --- |
| Version de CSP | 2 |
| Type de directive | Document directive |
| `default-src` par défaut | Non, ne pas la définir autorise toutes les ressources |

Syntaxe
-------

Un ou plusieurs types MIME peuvent être autorisées pour cette directive :
```

Content-Security-Policy: plugin-types <type>/<subtype>;
Content-Security-Policy: plugin-types <type>/<subtype> <type>/<subtype>;
```


<type>/<subtype>

Un type MIME valide.

Exemples
--------

### Interdire les greffons

Pour intedire tous les greffons, la directive `object-src` doit être définie à `'none'`. La directive `plugin-types` n'est utilisée que si vous autorisez au préalable les greffons avec `object-src`.


```html
<meta http-equiv="Content-Security-Policy" content="object-src 'none'" />
```

### Autoriser le contenu Flash

Soit cet en-tête CSP :


```bash
Content-Security-Policy: plugin-types application/x-shockwave-flash
```


Cet objet Flash sera autorisé et se chargera (dans la mesure où le navigateur gère Flash) :


```html
<object
 data="https://example.com/flash"
 type="application/x-shockwave-flash"></object>
```

### Autoriser les applets Java

Pour charger une `<applet>`, vous devez spécifier la valeur `application/x-java-applet` :


```bash
Content-Security-Policy: plugin-types application/x-java-applet
```

Spécifications
--------------

#### No specification found

No specification data found for `http.headers.Content-Security-Policy.plugin-types`.  
Check for problems with this page or contribute a missing `spec_url` to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Content-Security-Policy`: `object-src`
* `<object>`
* `<embed>`
* `<applet>`
* `X-Content-Type-Options`
CSP : form-action
=================

La directive HTTP `Content-Security-Policy` **`form-action`** restreint les URL pouvant être utilisées comme cibles d'envoi de formulaire depuis un contexte donné.

**Attention :** La question de savoir si `form-action` doit bloquer les redirections après une soumission de formulaire est encore débattue et les implémentations des navigateurs sur cet aspect sont hétérogènes (par exemple Firefox 57 ne les bloque pas, contrairement à Chrome 63).


|  |  |
| --- | --- |
| Version de CSP | 2 |
| Type de directive | Directive de navigation |
| Utilisation de `default-src` par défaut | Non, ne pas définir cette directive autorise toutes les adresses. |

Syntaxe
-------

Une ou plusieurs sources peuvent être utilisées pour cette directive :


```http
Content-Security-Policy: form-action <source>;
Content-Security-Policy: form-action <source> <source>;
```

### Sources

`<source>` peut être n'importe quelle valeur parmi celles énumérées dans l'article sur les valeurs sources CSP (en-US).

On notera que cet ensemble de valeurs peut être utilisé pour toutes les directives de récupération (et pour certaines autres directives (en-US)).

Exemples
--------

### Configuration avec la balise `<meta>`


```html
<meta http-equiv="Content-Security-Policy" content="form-action 'none'" />
```

### Configuration avec Apache


```xml
<IfModule mod\_headers.c>
  Header set Content-Security-Policy "form-action 'none';"
</IfModule>
```

### Configuration avec Nginx
```

add_header Content-Security-Policy "form-action 'none';"
```

### Cas de violation

Utiliser un élément `<form>` avec un attribut `action` contenant un script JavaScript résultera dans ce cas en une violation de CSP :


```html
<meta http-equiv="Content-Security-Policy" content="form-action 'none'" />

<form action="javascript:console.log('toto')" id="form1" method="post">
  <input type="text" name="nomChamp" value="valeurChamp" />
  <input type="submit" id="submit" value="Envoyer" />
</form>

<!--
Error: Refused to send form data because it violates the following
Content Security Policy directive: "form-action 'none'".
-->
```

Spécifications
--------------

| Specification |
| --- |
| Content Security Policy Level 3 # directive-form-action |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Content-Security-Policy`
* `<form>`
CSP: block-all-mixed-content
============================

La directive HTTP `Content-Security-Policy` (CSP) **`block-all-mixed-content`** bloque le chargement de ressources via HTTP lorsque la page utilise HTTPS.

Toutes les requêtes vers des contenus mixtes sont alors bloquées, y compris les ressources actives et passives. Cela s'applique aussi aux documents `<iframe>`, assurant que la page est complètement protégée contre les contenus mixtes.

**Note :** La directive `upgrade-insecure-requests` est évaluée avant `block-all-mixed-content`. Si elle est définie, alors `block-all-mixed-content` n'est pas nécessaire, à moins que vous souhaitiez forcer HTTPS sur les anciens navigateurs qui ne le font pas après une redirection vers HTTP.

Syntaxe
-------
```

Content-Security-Policy: block-all-mixed-content;
```

Exemples
--------
```

Content-Security-Policy: block-all-mixed-content;

<meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
```


Pour interdire l'usage de HTTP de manière plus fine, vous pouvez aussi configurer individuellement chaque directive sur `https:`. Par exemple, pour interdire les images HTTP non sécurisées :
```

Content-Security-Policy: img-src https:
```

Spécifications
--------------

#### No specification found

No specification data found for `http.headers.Content-Security-Policy.block-all-mixed-content`.  
Check for problems with this page or contribute a missing `spec_url` to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Content-Security-Policy`
* `upgrade-insecure-requests`
* Mixed content
CSP : font-src
==============

La directive HTTP `Content-Security-Policy` **`font-src`** spécifie les sources valides pour les polices de caractères chargées avec `@font-face`.

|  |  |
| --- | --- |
| 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: font-src <source>;
Content-Security-Policy: font-src <source> <source>;
```

### Sources

`<source>` peut être n'importe quelle valeur parmi celles énumérées dans l'article sur les valeurs sources CSP (en-US).

On notera que cet ensemble de valeurs peut être utilisé pour toutes les directives de récupération (et pour certaines autres directives (en-US)).

Exemples
--------

### Cas de violation

Soit cet en-tête CSP :


```bash
Content-Security-Policy: font-src https://example.com/
```


Cette définition de police sera bloquée et ne se chargera pas :


```html
<style>
 @font-face {
 font-family: "MyFont";
 src: url("https://not-example.com/font");
 }
 body {
 font-family: "MyFont";
 }
</style>
```

Spécifications
--------------

| Specification |
| --- |
| Content Security Policy Level 3 # directive-font-src |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Content-Security-Policy`
* `@font-face`
CSP : script-src-elem
=====================

La directive HTTP `Content-Security-Policy` **`script-src-elem`** indique les sources valides pour des éléments `<script>`. Elle ne porte pas sur les scripts embarqués via les attributs HTML pour la gestion d'évènements comme `onclick` (voir `script-src-attr` à ce propos).

|  |  |
| --- | --- |
| Version de CSP | 3 |
| 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 `script-src`, qui a pour valeur par défaut celle de la directive `default-src`. |

Syntaxe
-------

Une ou plusieurs sources peuvent être autorisées pour cette directive :


```http
Content-Security-Policy: script-src-elem <source>;
Content-Security-Policy: script-src-elem <source> <source>;
```


`script-src-elem` peut être utilisée avec `script-src` :


```http
Content-Security-Policy: script-src <source>;
Content-Security-Policy: script-src-elem <source>;
```

### Sources

`<source>` peut être n'importe quelle valeur parmi celles énumérées dans l'article sur les valeurs sources CSP (en-US).

On notera que cet ensemble de valeurs peut être utilisé pour toutes les directives de récupération (et pour certaines autres directives (en-US)).

Exemples
--------

### Valeur par défaut avec `script-src`

Si la directive `script-src-elem` est absente, l'agent utilisateur se rabat sur la valeur de la directive `script-src`, qui elle-même a pour valeur par défaut celle de la directive `default-src`.

Spécifications
--------------

| Specification |
| --- |
| Content Security Policy Level 3 # directive-script-src-elem |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Content-Security-Policy`
* `<script>`
* `script-src`
* `script-src-attr`
CSP : connect-src
=================

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'attribut `ping`,
* `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 :


```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 (en-US).

On notera que cet ensemble de valeurs peut être utilisé pour toutes les directives de récupération (et pour certaines autres directives (en-US)).

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 with JavaScript enabled. Enable JavaScript to view data.

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

* `Content-Security-Policy`
* `<a>` et l'attribut `ping`
* `fetch()`
* `XMLHttpRequest`
* `WebSocket`
* `EventSource`
CSP : media-src
===============

La directive HTTP `Content-Security-Policy` **`media-src`** spécifie les sources valides pour le chargement des médias avec les éléments `<audio>` et `<video>`.

|  |  |
| --- | --- |
| 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: media-src <source>;
Content-Security-Policy: media-src <source> <source>;
```

### Sources

`<source>` peut être n'importe quelle valeur parmi celles énumérées dans l'article sur les valeurs sources CSP (en-US).

On notera que cet ensemble de valeurs peut être utilisé pour toutes les directives de récupération (et pour certaines autres directives (en-US)).

Exemples
--------

### Cas de violation

Soit cet en-tête CSP :


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


Ces éléments `<audio>`, `<video>` et `<track>` seront bloqués et ne se chargeront pas :


```html
<audio src="https://not-example.com/audio"></audio>

<video src="https://not-example.com/video">
  <track kind="subtitles" src="https://not-example.com/subtitles" />
</video>
```

Spécifications
--------------

| Specification |
| --- |
| Content Security Policy Level 3 # directive-media-src |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Content-Security-Policy`
* `<audio>`, `<video>` et `<track>`
CSP : child-src
===============

La directive HTTP `Content-Security-Policy` **`child-src`** définit les sources valides de *web workers* et de contextes de navigations imbriqués chargés au moyen d'éléments tels que `<frame>` et `<iframe>`. Pour les *workers*, les requêtes non-conformes sont traitées comme des erreurs de réseau fatales par l'agent utilisateur.

|  |  |
| --- | --- |
| Version de CSP | 2 |
| 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: child-src <source>;
Content-Security-Policy: child-src <source> <source>;
```

### Sources

`<source>` peut être n'importe quelle valeur parmi celles énumérées dans l'article sur les valeurs sources CSP (en-US).

On notera que cet ensemble de valeurs peut être utilisé pour toutes les directives de récupération (et pour certaines autres directives (en-US)).

Exemples
--------

### Cas de violation

Soit cet en-tête CSP :


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


Cette `<iframe>` et ce *worker* seront bloqués et ne se chargeront pas :


```html
<iframe src="https://not-example.com"></iframe>

<script>
 let blockedWorker = new Worker("data:application/javascript,...");
</script>
```

Spécifications
--------------

| Specification |
| --- |
| Content Security Policy Level 3 # directive-child-src |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Content-Security-Policy`
* `<frame>` et `<iframe>`
* `Worker`, `SharedWorker`, `ServiceWorker`
CSP : style-src-elem
====================

La directive HTTP `Content-Security-Policy` **`style-src-elem`** indique les sources valides pour les feuilles de styles embarquées avec les éléments `<style>` et avec les éléments `<link>` portant l'attribut `rel="stylesheet"`.

|  |  |
| --- | --- |
| Version de CSP | 3 |
| 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 `style-src`, qui a pour valeur par défaut celle de la directive `default-src`. |

Syntaxe
-------

Une ou plusieurs sources peuvent être autorisées pour cette directive :


```http
Content-Security-Policy: style-src-elem <source>;
Content-Security-Policy: style-src-elem <source> <source>;
```


`style-src-elem` peut être utilisée avec `style-src` :


```http
Content-Security-Policy: style-src <source>;
Content-Security-Policy: style-src-elem <source>;
```

### Sources

`<source>` peut être n'importe quelle valeur parmi celles énumérées dans l'article sur les valeurs sources CSP (en-US).

On notera que cet ensemble de valeurs peut être utilisé pour toutes les directives de récupération (et pour certaines autres directives (en-US)).

Spécifications
--------------

| Specification |
| --- |
| Content Security Policy Level 3 # directive-style-src-elem |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Content-Security-Policy`
* `style-src`
* `style-src-attr`
* L'en-tête `Link`
* `<style>`, `<link>`
* `@import`
* `CSSStyleSheet.insertRule()` (en-US)
* `CSSGroupingRule.insertRule()` (en-US)
* `CSSStyleDeclaration.cssText`
CSP: referrer
=============

**Obsolète:** Cette fonctionnalité a été supprimée des standards du Web. Bien que quelques navigateurs puissent encore la supporter, elle est en cours d'éradication. Ne l'utilisez ni dans d'anciens projets, ni dans de nouveaux. Les pages et applications Web l'utilisant peuvent cesser de fonctionner à tout moment.

La directive HTTP `Content-Security-Policy` (CSP) **`referrer`** spécifie des informations dans l'en-tête HTTP `Referer` (avec un seul r) pour les liens externes d'une page. Cette API est dépréciée et supprimée des navigateurs.

**Note :** Utilisez plutôt l'en-tête HTTP `Referrer-Policy`.

Syntaxe
-------

Soit cet en-tête CSP :
```

Content-Security-Policy: referrer <referrer-policy>;
```


Où `<referrer-policy>` peut être une valeur parmi :

"no-referrer"

L'en-tête HTTP `Referer` sera omise. Aucune information de référent ne sera envoyée avec les requêtes.

"none-when-downgrade"

C'est le comportement par défaut des agents d'utilisateur si la directive n'est pas spécifiée. L'origine est envoyée comme référent pour une destination a priori aussi bien sécurisée (HTTP vers HTTP ou HTTPS vers HTTPS), mais n'est pas envoyée vers une destination qui l'est moins (HTTPS vers HTTP).

"origin"

 Envoie l'origine du document comme référent dans tous les cas.
 Le document `https://example.com/page.html` enverra `https://example.com/` comme référent.


"origin-when-cross-origin" / "origin-when-crossorigin"

Envoie une URL complète pour les requêtes vers la même origine, mais seulement l'origin du document dans les autres cas.

"unsafe-url"

Envoie une URL complète (excepté ses paramètres) lors de réalisation d'une requête vers la même origine ou une autre origine. Cette règle divulguera les origines et adresses des ressources protégées par TLS à des origines non sécurisées. Considérez avec précaution les conséquences de cette configuration.

Exemples
--------
```

Content-Security-Policy: referrer "none";
```

Spécifications
--------------

Cette fonctionnalité ne fait partie d'aucune spécification.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Content-Security-Policy`
* `Referrer-Policy` header
* `Referer` header