aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/http/headers/content-security-policy
diff options
context:
space:
mode:
Diffstat (limited to 'files/fr/web/http/headers/content-security-policy')
-rw-r--r--files/fr/web/http/headers/content-security-policy/base-uri/index.html111
-rw-r--r--files/fr/web/http/headers/content-security-policy/block-all-mixed-content/index.html70
-rw-r--r--files/fr/web/http/headers/content-security-policy/child-src/index.html100
-rw-r--r--files/fr/web/http/headers/content-security-policy/connect-src/index.html129
-rw-r--r--files/fr/web/http/headers/content-security-policy/default-src/index.html183
-rw-r--r--files/fr/web/http/headers/content-security-policy/font-src/index.html102
-rw-r--r--files/fr/web/http/headers/content-security-policy/form-action/index.html115
-rw-r--r--files/fr/web/http/headers/content-security-policy/frame-ancestors/index.html126
-rw-r--r--files/fr/web/http/headers/content-security-policy/frame-src/index.html97
-rw-r--r--files/fr/web/http/headers/content-security-policy/img-src/index.html97
-rw-r--r--files/fr/web/http/headers/content-security-policy/index.html252
-rw-r--r--files/fr/web/http/headers/content-security-policy/manifest-src/index.html93
-rw-r--r--files/fr/web/http/headers/content-security-policy/media-src/index.html101
-rw-r--r--files/fr/web/http/headers/content-security-policy/navigate-to/index.html104
-rw-r--r--files/fr/web/http/headers/content-security-policy/object-src/index.html104
-rw-r--r--files/fr/web/http/headers/content-security-policy/plugin-types/index.html121
-rw-r--r--files/fr/web/http/headers/content-security-policy/prefetch-src/index.html88
-rw-r--r--files/fr/web/http/headers/content-security-policy/referrer/index.html64
-rw-r--r--files/fr/web/http/headers/content-security-policy/report-to/index.html83
-rw-r--r--files/fr/web/http/headers/content-security-policy/report-uri/index.html133
-rw-r--r--files/fr/web/http/headers/content-security-policy/require-sri-for/index.html61
-rw-r--r--files/fr/web/http/headers/content-security-policy/require-trusted-types-for/index.html88
-rw-r--r--files/fr/web/http/headers/content-security-policy/sandbox/index.html111
-rw-r--r--files/fr/web/http/headers/content-security-policy/script-src-attr/index.html100
-rw-r--r--files/fr/web/http/headers/content-security-policy/script-src-elem/index.html100
-rw-r--r--files/fr/web/http/headers/content-security-policy/script-src/index.html176
-rw-r--r--files/fr/web/http/headers/content-security-policy/style-src-attr/index.html105
-rw-r--r--files/fr/web/http/headers/content-security-policy/style-src-elem/index.html105
-rw-r--r--files/fr/web/http/headers/content-security-policy/style-src/index.html181
-rw-r--r--files/fr/web/http/headers/content-security-policy/trusted-types/index.html89
-rw-r--r--files/fr/web/http/headers/content-security-policy/upgrade-insecure-requests/index.html96
-rw-r--r--files/fr/web/http/headers/content-security-policy/worker-src/index.html100
32 files changed, 3585 insertions, 0 deletions
diff --git a/files/fr/web/http/headers/content-security-policy/base-uri/index.html b/files/fr/web/http/headers/content-security-policy/base-uri/index.html
new file mode 100644
index 0000000000..61f13ebb65
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/base-uri/index.html
@@ -0,0 +1,111 @@
+---
+title: 'CSP: base-uri'
+slug: Web/HTTP/Headers/Content-Security-Policy/base-uri
+tags:
+ - CSP
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Reference
+ - Security
+ - Sécurité
+ - source
+translation_of: Web/HTTP/Headers/Content-Security-Policy/base-uri
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <strong><code>base-uri</code></strong> restreint les URL qui peuvent être utilisées comme valeur d'un élément {{HTMLElement("base")}}. Si cette valeur est absente, alors toutes les adresses sont autorisées. Si cette directive est absente, l'agent utilisateur va utiliser la valeur dans l'élément {{HTMLElement("base")}}.</p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Version de CSP</th>
+ <td>2</td>
+ </tr>
+ <tr>
+ <th scope="row">Type de directive</th>
+ <td>{{Glossary("Document directive")}}</td>
+ </tr>
+ <tr>
+ <th scope="row">{{CSP("default-src")}} par défaut</th>
+ <td>Non, ne pas la définir autorise toutes les URL</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>Une ou plusieurs <em>sources</em> peuvent être autorisées pour cette directive :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: base-uri &lt;source&gt;;
+Content-Security-Policy: base-uri &lt;source&gt; &lt;source&gt;;
+</pre>
+
+<h3 id="Sources">Sources</h3>
+
+<p>Bien que cette directive utilise les mêmes arguments que d'autres directives CSP, certains d'entre eux n'ont pas de sens concernant l'élément {{HTMLElement("base")}}, comme les valeurs <code>'unsafe-inline'</code> et <code>'strict-dynamic'</code></p>
+
+<p>{{page("fr/Web/HTTP/Headers/Content-Security-Policy/default-src", "Sources")}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Configuration_par_balise_&lt;meta>">Configuration par balise &lt;meta&gt;</h3>
+
+<pre class="brush: html notranslate">&lt;meta http-equiv="Content-Security-Policy" content="base-uri 'self'"&gt;</pre>
+
+<h3 id="Configuration_par_Apache">Configuration par Apache</h3>
+
+<pre class="brush: bash notranslate">&lt;IfModule mod_headers.c&gt;
+Header set Content-Security-Policy "base-uri 'self'";
+&lt;/IfModule&gt;</pre>
+
+<h3 id="Configuration_par_Nginx">Configuration par Nginx</h3>
+
+<pre class="brush: bash notranslate">add_header Content-Security-Policy "base-uri 'self';"</pre>
+
+<h3 id="Cas_de_violation">Cas de violation</h3>
+
+<p>À partir du moment où votre domaine n'est pas <code>example.com</code>, un élément {{HTMLElement("base")}} avec son attribut <code>href</code> défini à <code>https://example.com</code> résultera en une violation de CSP.</p>
+
+<pre class="brush: html; example-bad notranslate">&lt;meta http-equiv="Content-Security-Policy" content="base-uri 'self'"&gt;
+&lt;base href="https://example.com/"&gt;
+
+// Error: Refused to set the document's base URI to 'https://example.com/'
+// because it violates the following Content Security Policy
+// directive: "base-uri 'self'"</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 3.0", "#directive-base-uri", "base-uri")}}</td>
+ <td>{{Spec2('CSP 3.0')}}</td>
+ <td>Inchangé.</td>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 1.1", "#directive-base-uri", "base-uri")}}</td>
+ <td>{{Spec2('CSP 1.1')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("http.headers.csp.base-uri")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPheader("Content-Security-Policy")}}</li>
+ <li>{{HTMLElement("base")}}</li>
+ <li>{{domxref("Node.baseURI")}}</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/block-all-mixed-content/index.html b/files/fr/web/http/headers/content-security-policy/block-all-mixed-content/index.html
new file mode 100644
index 0000000000..c0cdeea4a4
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/block-all-mixed-content/index.html
@@ -0,0 +1,70 @@
+---
+title: 'CSP: block-all-mixed-content'
+slug: Web/HTTP/Headers/Content-Security-Policy/block-all-mixed-content
+tags:
+ - CSP
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Mixed Content
+ - Reference
+ - Security
+ - Sécurité
+ - block-all-mixed-content
+translation_of: Web/HTTP/Headers/Content-Security-Policy/block-all-mixed-content
+---
+<div>{{HTTPSidebar}}</div>
+
+<p><span class="seoSummary">La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <code><strong>block-all-mixed-content</strong></code> bloque le chargement de ressources via HTTP lorsque la page utilise HTTPS.</span></p>
+
+<p>Toutes les requêtes vers des <a href="/fr/docs/Sécurité/MixedContent">contenus mixtes</a> sont alors bloquées, y compris les ressources actives et passives. Cela s'applique aussi aux documents {{HTMLElement("iframe")}}, assurant que la page est complètement protégée contre les contenus mixtes.</p>
+
+<div class="blockIndicator note">
+<p>Note : La directive {{CSP("upgrade-insecure-requests")}} est évaluée avant <code>block-all-mixed-content</code>. Si elle est définie, alors <code>block-all-mixed-content</code> 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.</p>
+</div>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: block-all-mixed-content;</pre>
+
+<h2 id="Exemples">Exemples</h2>
+
+<pre class="notranslate">Content-Security-Policy: block-all-mixed-content;
+
+&lt;meta http-equiv="Content-Security-Policy" content="block-all-mixed-content"&gt;
+</pre>
+
+<p>Pour interdire l'usage de HTTP de manière plus fine, vous pouvez aussi configurer individuellement chaque directive sur <code>https:</code>. Par exemple, pour interdire les images HTTP non sécurisées :</p>
+
+<pre class="notranslate">Content-Security-Policy: img-src https:</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ <tr>
+ <td>{{specName("Mixed Content", "#block-all-mixed-content", "block-all-mixed-content")}}</td>
+ <td>{{Spec2('Mixed Content')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilités_navigateurs">Compatibilités navigateurs</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("http.headers.csp.block-all-mixed-content")}}</p>
+
+<h2 id="Voir_également">Voir également</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li>{{CSP("upgrade-insecure-requests")}}</li>
+ <li><a href="/en-US/docs/Web/Security/Mixed_content">Mixed content</a></li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/child-src/index.html b/files/fr/web/http/headers/content-security-policy/child-src/index.html
new file mode 100644
index 0000000000..cb7a175ff8
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/child-src/index.html
@@ -0,0 +1,100 @@
+---
+title: 'CSP: child-src'
+slug: Web/HTTP/Headers/Content-Security-Policy/child-src
+tags:
+ - CSP
+ - Child
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Reference
+ - Security
+ - Sécurité
+ - child-src
+ - source
+translation_of: Web/HTTP/Headers/Content-Security-Policy/child-src
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <strong><code>child-src</code></strong> définit les sources valides de <a href="/en-US/docs/Web/API/Web_Workers_API">web workers</a> et de contextes de navigations imbriqués chargés au moyen d'éléments tels que {{HTMLElement("frame")}} et {{HTMLElement("iframe")}}. Pour les workers, les requêtes conformes sont traitées comme des erreurs de réseau fatales par l'agent utilisateur.</p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Version de CSP</th>
+ <td>2</td>
+ </tr>
+ <tr>
+ <th scope="row">Type de directive</th>
+ <td>{{Glossary("Fetch directive")}}</td>
+ </tr>
+ <tr>
+ <th scope="row">{{CSP("default-src")}} par défaut</th>
+ <td>Oui, si cette directive est absente, l'agent utilisateur consultera la directive <code>default-src</code></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>Une ou plusieurs sources peuvent être autorisées pour cette directive :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: child-src &lt;source&gt;;
+Content-Security-Policy: child-src &lt;source&gt; &lt;source&gt;;
+</pre>
+
+<h3 id="Sources">Sources</h3>
+
+<p>{{page("Web/HTTP/Headers/Content-Security-Policy/connect-src", "Sources")}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Cas_de_violation">Cas de violation</h3>
+
+<p>Soit cet en-tête CSP :</p>
+
+<pre class="brush: bash notranslate">Content-Security-Policy: child-src https://example.com/</pre>
+
+<p>Cet {{HTMLElement("iframe")}} et ce worker seront bloqués et ne se chargeront pas :</p>
+
+<pre class="brush: html notranslate">&lt;iframe src="https://not-example.com"&gt;&lt;/iframe&gt;
+
+&lt;script&gt;
+ var blockedWorker = new Worker("data:application/javascript,...");
+&lt;/script&gt;</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 3.0", "#directive-child-src", "child-src")}}</td>
+ <td>{{Spec2('CSP 3.0')}}</td>
+ <td>Inchangé.</td>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 1.1", "#directive-child-src", "child-src")}}</td>
+ <td>{{Spec2('CSP 1.1')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.child-src")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li>{{HTMLElement("frame")}} and {{HTMLElement("iframe")}}</li>
+ <li>{{domxref("Worker")}}, {{domxref("SharedWorker")}}, {{domxref("ServiceWorker")}}</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/connect-src/index.html b/files/fr/web/http/headers/content-security-policy/connect-src/index.html
new file mode 100644
index 0000000000..9914f70cf4
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/connect-src/index.html
@@ -0,0 +1,129 @@
+---
+title: 'CSP: connect-src'
+slug: Web/HTTP/Headers/Content-Security-Policy/connect-src
+tags:
+ - CSP
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Reference
+ - Security
+ - Sécurité
+ - connect-src
+ - source
+translation_of: Web/HTTP/Headers/Content-Security-Policy/connect-src
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <code><strong>connect-src</strong></code> restreint les URL qui peuvent être chargées en utilisant des interfaces de programmation. Les API qui sont affectées sont :</p>
+
+<ul>
+ <li>{{HTMLElement("a")}} {{htmlattrxref("ping", "a")}},</li>
+ <li>{{domxref("Fetch")}},</li>
+ <li>{{domxref("XMLHttpRequest")}},</li>
+ <li>{{domxref("WebSocket")}},</li>
+ <li>{{domxref("EventSource")}}, and</li>
+ <li>{{domxref("Navigator.sendBeacon()")}}.</li>
+</ul>
+
+<div class="note">
+<p><strong>Note:</strong> <code>connect-src 'self'</code> ne s'applique pas aux schémas de websocket pour tous les navigateurs. Pour plus d'informations, consulter : <a href="https://github.com/w3c/webappsec-csp/issues/7">https://github.com/w3c/webappsec-csp/issues/7</a>.</p>
+</div>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Version de CSP</th>
+ <td>1</td>
+ </tr>
+ <tr>
+ <th scope="row">Type de directive</th>
+ <td>{{Glossary("Fetch directive")}}</td>
+ </tr>
+ <tr>
+ <th scope="row">{{CSP("default-src")}} par défaut</th>
+ <td>Oui, si cette directive est absente, l'agent utilisateur consultera la directive <code>default-src</code></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>Une ou plusieurs sources peuvent être autorisées pour cette directive :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: connect-src &lt;source&gt;;
+Content-Security-Policy: connect-src &lt;source&gt; &lt;source&gt;;
+</pre>
+
+<h3 id="Sources">Sources</h3>
+
+<p>{{page("/fr/docs/Web/HTTP/Headers/Content-Security-Policy/default-src", "common_sources")}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Cas_de_violation">Cas de violation</h3>
+
+<p>Soit cet en-tête CSP :</p>
+
+<pre class="brush: bash notranslate">Content-Security-Policy: connect-src https://example.com/</pre>
+
+<p>Les connexions suivantes seront bloquées et ne se chargeront pas :</p>
+
+<pre class="brush: html notranslate">&lt;a ping="https://not-example.com"&gt;
+
+&lt;script&gt;
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', 'https://not-example.com/');
+ xhr.send();
+
+ var ws = new WebSocket("https://not-example.com/");
+
+ var es = new EventSource("https://not-example.com/");
+
+ navigator.sendBeacon("https://not-example.com/", { ... });
+&lt;/script&gt;</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{specName("CSP 3.0", "#directive-connect-src", "connect-src")}}</td>
+ <td>{{Spec2('CSP 3.0')}}</td>
+ <td>Inchangé.</td>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 1.1", "#directive-connect-src", "connect-src")}}</td>
+ <td>{{Spec2('CSP 1.1')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.connect-src")}}</p>
+
+<h2 id="Notes_de_compatibilité">Notes de compatibilité</h2>
+
+<ul>
+ <li>Avant Firefox 23, <code>xhr-src</code> était utilisé en lieu et place de la directive <code>connect-src</code> et ne s'appliquait qu'à l'API {{domxref("XMLHttpRequest")}}.</li>
+</ul>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li>{{HTMLElement("a")}} {{htmlattrxref("ping", "a")}}</li>
+ <li>{{domxref("Fetch")}}</li>
+ <li>{{domxref("XMLHttpRequest")}}</li>
+ <li>{{domxref("WebSocket")}}</li>
+ <li>{{domxref("EventSource")}}</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/default-src/index.html b/files/fr/web/http/headers/content-security-policy/default-src/index.html
new file mode 100644
index 0000000000..4111dc6de1
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/default-src/index.html
@@ -0,0 +1,183 @@
+---
+title: 'CSP: default-src'
+slug: Web/HTTP/Headers/Content-Security-Policy/default-src
+tags:
+ - CSP
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Reference
+ - Security
+ - Sécurité
+ - default
+ - default-src
+ - source
+translation_of: Web/HTTP/Headers/Content-Security-Policy/default-src
+---
+<div>{{HTTPSidebar}}</div>
+
+<p><span class="seoSummary">La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <strong><code>default-src</code></strong> sert de valeur par défaut pour les autres directives CSP {{Glossary("fetch directive", "fetch directives")}}.</span> Pour chacune des directives suivantes, l'agent utilisateur consultera la directive <code>default-src</code> et utilisera sa valeur pour la directive demandée si celle-ci est absente :</p>
+
+<ul>
+ <li>{{CSP("child-src")}}</li>
+ <li>{{CSP("connect-src")}}</li>
+ <li>{{CSP("font-src")}}</li>
+ <li>{{CSP("frame-src")}}</li>
+ <li>{{CSP("img-src")}}</li>
+ <li>{{CSP("manifest-src")}}</li>
+ <li>{{CSP("media-src")}}</li>
+ <li>{{CSP("object-src")}}</li>
+ <li>{{CSP("prefetch-src")}}</li>
+ <li>{{CSP("script-src")}}</li>
+ <li>{{CSP("script-src-elem")}}</li>
+ <li>{{CSP("script-src-attr")}}</li>
+ <li>{{CSP("style-src")}}</li>
+ <li>{{CSP("style-src-elem")}}</li>
+ <li>{{CSP("style-src-attr")}}</li>
+ <li>{{CSP("worker-src")}}</li>
+</ul>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Version de CSP</th>
+ <td>1</td>
+ </tr>
+ <tr>
+ <th scope="row">Type de directive</th>
+ <td>{{Glossary("Fetch directive")}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>Une ou plusieurs sources peuvent être autorisées pour cette directive :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: default-src &lt;source&gt;;
+Content-Security-Policy: default-src &lt;source&gt; &lt;source&gt;;
+</pre>
+
+<h3 id="Sources">Sources</h3>
+
+<div id="common_sources">
+<p>La &lt;source&gt; peut être une des suivantes :</p>
+
+<dl>
+ <dt>&lt;host-source&gt;</dt>
+ <dd>Des hôtes Internet par leur nom de domaine ou adresse IP, aussi bien qu'un <a href="/en-US/docs/URIs_and_URLs">protocole</a> et/ou un numéro de port. L'adresse du site peut inclure un caractère de remplacement optionnel (l'astérisque <code>'*'</code>), qui ne peut être utilisée que pour indiquer un sous-domaine ou que tous les ports existants sont des sources valides.<br>
+ Exemples:
+ <ul>
+ <li><code>http://*.example.com</code>: correspondra à toutes les tentatives d'accès pour tous les sous-domaines de example.com via le protocole <code>http:</code>.</li>
+ <li><code>mail.example.com:443</code>: correspondra à toutes les tentatives d'accès sur le port 443 de mail.example.com.</li>
+ <li><code>https://store.example.com</code>: correspondra à toutes les tentatives d'accès à store.example.com via le protocole <code>https:</code>.</li>
+ <li><code>*.example.com</code>: correspondra à toutes les tentatives d'accès pour tous les sous-domaines de example.com en utilisant le protocole courant.</li>
+ </ul>
+ </dd>
+ <dt>&lt;scheme-source&gt;</dt>
+ <dd>Un protocole tel que <code>http:</code> ou <code>https:</code>. Les deux-points sont nécessaires. Contrairement à d'autres valeurs ci-bas, les guillemets ne devraient pas être employés. Vous pouvez aussi spécifier des schémas de données (quoi que ce ne soit pas recommandé).
+ <ul>
+ <li><code>data:</code> permet aux <a href="/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs">URI <code>data:</code></a> d'être utilisées comme sources de contenu.<em> Cette pratique manque de sécurité ; une personne malveillante peut aussi injecter des URI data: arbitraires. Utilisez cette valeur avec parcimonie certainement pas pour des scripts.</em></li>
+ <li><code>mediastream:</code> permet aux <a href="/en-US/docs/Web/API/MediaStream_API">URI <code>mediastream:</code></a> d'être utilisées comme source de contenu.</li>
+ <li><code>blob:</code> permet aux <a href="/en-US/docs/Web/API/Blob">URI <code>blob:</code></a> d'être utilisées comme source de contenu.</li>
+ <li><code>filesystem:</code> Allows <a href="/en-US/docs/Web/API/FileSystem">URI <code>filesystem:</code></a> d'être utilisées comme source de contenu.</li>
+ </ul>
+ </dd>
+ <dt><code>'self'</code></dt>
+ <dd>Cette valeur fait référence au domaine dont est originaire le document protégé, y compris le protocole et le numéro de port. Vous devez mettre cette valeur entre guillemets. Certains navigateurs excluent spécifiquement les valeurs <code>blob</code> et <code>filesystem</code> des directives de source. Les sites nécessitant une permission pour ces types de contenu peuvent les spécifier en utilisant l'attribut Data.</dd>
+ <dt><code>'unsafe-eval'</code></dt>
+ <dd>Permet l'usage de la fonction <code>eval()</code> et de méthodes similaires pour créer du code à partir de chaines de caractères. Vous devez mettre cette valeur entre guillemets.</dd>
+ <dt id="unsafe-hashes"><code>'unsafe-hashes'</code></dt>
+ <dd>Permet l'usage de certains <a href="/en-US/docs/Web/Guide/Events/Event_handlers">écouteurs d'évènements</a> par attributs. Si vous n'avez besoin que d'écouteurs d'évènements par attributs et non d'éléments {{HTMLElement("script")}} embarqués ou d'URL <code>javascript:</code>, cette valeur est plus sécurisée que <code>unsafe-inline</code>.</dd>
+ <dt><code>'unsafe-inline'</code></dt>
+ <dd>Permet l'usage de ressources embarquées, tels que des éléments {{HTMLElement("script")}} (sans <code>src</code>), d'URL <code>javascript:</code>, de gestionnaire d'évènement par attributs (<code>on&lt;eventName&gt;</code>), et d'éléments {{HTMLElement("style")}}. Vous devez mettre cette valeur entre guillemets.</dd>
+ <dt><code>'none'</code></dt>
+ <dd>Aucune source n'est admise. Vous devez mettre cette valeur entre guillemets.</dd>
+ <dt>'nonce-&lt;base64-value&gt;'</dt>
+ <dd>Une liste de permissions pour des scripts embarqués spécifiques en utilisant un nonce (<em>number used once</em>, nombre à usage unique) cryptographique. Le serveur doit générer un nonce à chaque fois qu'il transmet une réponse. Il est extrèmement important de fournir des nonces non prédictibles, puisque le contraire permettrait aisément de contourner la stratégie de sécurité. Voir <a href="/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src#Unsafe_inline_script">inline script non fiables</a> pour avoir un exemple. Spécifier un nonce implique que les navigateurs modernes ignoreront la valeur <code>'unsafe-inline'</code>, qui peut toutefois être laissée pour les anciens navigateurs ne supportant pas les nonces.</dd>
+ <dt>'&lt;hash-algorithm&gt;-&lt;base64-value&gt;'</dt>
+ <dd>Un hash sha256, sha384 ou sha512 d'un <code>&lt;script&gt;</code> ou d'un <code>&lt;style&gt;</code>. Cette source est composée de deux parties séparées par un tiret : le nom de l'algorithme de chiffrage utilisé pour générer le hash à gauche et le hash encodé en base 64 à droite. Lors de la génération du hash, il ne faut pas inclure les balises <code>&lt;script&gt;</code> or <code>&lt;style&gt;</code> et tenir compte de la casse et des caractères blancs (espaces, retours à la ligne, etc.). Voir <a href="/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src#Unsafe_inline_script">inline script non fiables</a> pour en avoir un exemple. En CSP 2.0, cette valeur ne s'applique qu'aux scripts embarqués. CSP 3.0 le permet aussi dans le cas de scripts externes.</dd>
+</dl>
+</div>
+
+<div id="strict-dynamic">
+<dl>
+ <dt>'strict-dynamic'</dt>
+ <dd>La valeur <code>strict-dynamic</code> spécifie que la confiance explicitement donnée à un script de la page, par le biais d'un nonce ou d'un hash, doit être propagée à tous les scripts chargés par celui-ci. En conséquence, toute les valeurs telles que <code>'self'</code> ou <code>'unsafe-inline'</code> et listes de permissions sont ignorées. Voir <a href="/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src#strict-dynamic">script-src</a> pour en avoir un exemple.</dd>
+</dl>
+</div>
+
+<div id="report-sample">
+<dl>
+ <dt>'report-sample'</dt>
+ <dd>Requiert qu'un échantillon du code violant la directive soit inclus dans le rapport envoyé.</dd>
+</dl>
+</div>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Absence_dhéritage_avec_default-src">Absence d'héritage avec default-src</h3>
+
+<p>S'il y a d'autres directives spécifiées, <code>default-src</code> ne les affecte pas. Soit l'en-tête suivant :</p>
+
+<pre class="brush: bash notranslate">Content-Security-Policy: default-src 'self'; script-src https://example.com</pre>
+
+<p>Est identique à :</p>
+
+<pre class="brush: bash notranslate">Content-Security-Policy: connect-src 'self';
+ font-src 'self';
+ frame-src 'self';
+ img-src 'self';
+ manifest-src 'self';
+ media-src 'self';
+ object-src 'self';
+ script-src https://example.com;
+ style-src 'self';
+ worker-src 'self'</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{specName("CSP 3.0", "#directive-default-src", "default-src")}}</td>
+ <td>{{Spec2('CSP 3.0')}}</td>
+ <td>Ajout de <code>frame-src</code>, <code>manifest-src</code> et <code>worker-src</code> comme valeurs par défaut.</td>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 1.1", "#directive-default-src", "default-src")}}</td>
+ <td>{{Spec2('CSP 1.1')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.default-src")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li>CSP directives (<a href="https://www.w3.org/TR/CSP/#csp-directives">https://www.w3.org/TR/CSP/#csp-directives</a>):
+ <ul>
+ <li>{{Glossary("Fetch directive")}}</li>
+ <li>{{Glossary("Document directive")}}</li>
+ <li>{{Glossary("Navigation directive")}}</li>
+ <li>{{Glossary("Reporting directive")}}</li>
+ <li><code><a href="/docs/Web/HTTP/Headers/Content-Security-Policy/upgrade-insecure-requests">upgrade-insecure-requests</a></code></li>
+ <li><code><a href="/docs/Web/HTTP/Headers/Content-Security-Policy/block-all-mixed-content">block-all-mixed-content</a></code></li>
+ <li><code><a href="/docs/Web/HTTP/Headers/Content-Security-Policy/require-sri-for">require-sri-for</a></code> {{experimental_inline}}</li>
+ </ul>
+ </li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/font-src/index.html b/files/fr/web/http/headers/content-security-policy/font-src/index.html
new file mode 100644
index 0000000000..a5d70dcc8d
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/font-src/index.html
@@ -0,0 +1,102 @@
+---
+title: 'CSP: font-src'
+slug: Web/HTTP/Headers/Content-Security-Policy/font-src
+tags:
+ - CSP
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Reference
+ - Security
+ - Sécurité
+ - font
+ - source
+translation_of: Web/HTTP/Headers/Content-Security-Policy/font-src
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <code><strong>font</strong></code><strong><code>-src</code></strong> spécifie les sources valides pour les polices chargés avec {{cssxref("@font-face")}}.</p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Version de CSP</th>
+ <td>1</td>
+ </tr>
+ <tr>
+ <th scope="row">Type de directive</th>
+ <td>{{Glossary("Fetch directive")}}</td>
+ </tr>
+ <tr>
+ <th scope="row">{{CSP("default-src")}} par défaut</th>
+ <td>Oui, si cette directive est absente, l'agent utilisateur consultera la directive <code>default-src</code></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>Une ou plusieurs sources peuvent être autorisées pour cette directive :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: font-src &lt;source&gt;;
+Content-Security-Policy: font-src &lt;source&gt; &lt;source&gt;;
+</pre>
+
+<h3 id="Sources">Sources</h3>
+
+<p>{{page("fr/Web/HTTP/Headers/Content-Security-Policy/connect-src", "Sources")}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Cas_de_violation">Cas de violation</h3>
+
+<p>Soit cet en-tête CSP :</p>
+
+<pre class="brush: bash notranslate">Content-Security-Policy: font-src https://example.com/</pre>
+
+<p>Cette définition de police sera bloquée et ne se chargera pas :</p>
+
+<pre class="brush: html notranslate">&lt;style&gt;
+ @font-face {
+ font-family: "MyFont";
+ src: url("https://not-example.com/font");
+ }
+ body {
+ font-family: "MyFont";
+ }
+&lt;/style&gt;</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 3.0", "#directive-font-src", "font-src")}}</td>
+ <td>{{Spec2('CSP 3.0')}}</td>
+ <td>Inchangé.</td>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 1.1", "#directive-font-src", "font-src")}}</td>
+ <td>{{Spec2('CSP 1.1')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.font-src")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li>{{cssxref("@font-face")}}</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/form-action/index.html b/files/fr/web/http/headers/content-security-policy/form-action/index.html
new file mode 100644
index 0000000000..e7f4b76e23
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/form-action/index.html
@@ -0,0 +1,115 @@
+---
+title: 'CSP: form-action'
+slug: Web/HTTP/Headers/Content-Security-Policy/form-action
+tags:
+ - CSP
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Security
+ - Sécurité
+ - form
+ - form-action
+translation_of: Web/HTTP/Headers/Content-Security-Policy/form-action
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <code><strong>form</strong></code><strong><code>-action</code></strong> restreint les URL pouvant être utilisées comme cibles de soumissions de formulaires depuis un contexte donné.</p>
+
+<div class="warning">
+<p>La question de savoir si <code>form-action</code> doit bloquer les redirections après une soumission de formulaire est encore <a href="https://github.com/w3c/webappsec-csp/issues/8">débattue</a> et les implantations des navigateurs sur cet aspect sont incohérentes (par exemple Firefox 57 ne les bloque pas, contrairement à Chrome 63).</p>
+</div>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Version de CSP</th>
+ <td>2</td>
+ </tr>
+ <tr>
+ <th scope="row">Type de directive</th>
+ <td>{{Glossary("Navigation directive")}}</td>
+ </tr>
+ <tr>
+ <th scope="row">{{CSP("default-src")}} par défaut</th>
+ <td>Non, ne pas la définir autorise toutes les adresses.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>Une ou plusieurs sources peuvent être utilisées pour cette directive :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: form-action &lt;source&gt;;
+Content-Security-Policy: form-action &lt;source&gt; &lt;source&gt;;
+</pre>
+
+<h3 id="Sources">Sources</h3>
+
+<p>{{page("fr/Web/HTTP/Headers/Content-Security-Policy/default-src", "Sources")}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Configuration_par_balise_&lt;meta>">Configuration par balise &lt;meta&gt;</h3>
+
+<pre class="brush: html notranslate">&lt;meta http-equiv="Content-Security-Policy" content="form-action 'none'"&gt;</pre>
+
+<h3 id="Configuration_par_Apache">Configuration par Apache</h3>
+
+<pre class="brush: bash notranslate">&lt;IfModule mod_headers.c&gt;
+Header set Content-Security-Policy "form-action 'none';"
+&lt;/IfModule&gt;</pre>
+
+<h3 id="Configuration_par_Nginx">Configuration par Nginx</h3>
+
+<pre class="brush: bash notranslate">add_header Content-Security-Policy "form-action 'none';"</pre>
+
+<h3 id="Cas_de_violation">Cas de violation</h3>
+
+<p>Utiliser un élément {{HTMLElement("form")}} avec un attribut <code>action</code> défini à un script embarqué JavaScript résultera en une violation de CSP :</p>
+
+<pre class="brush: html; example-bad notranslate">&lt;meta http-equiv="Content-Security-Policy" content="form-action 'none'"&gt;
+
+&lt;form action="javascript:alert('Foo')" id="form1" method="post"&gt;
+ &lt;input type="text" name="fieldName" value="fieldValue"&gt;
+ &lt;input type="submit" id="submit" value="submit"&gt;
+&lt;/form&gt;
+
+// Error: Refused to send form data because it violates the following
+// Content Security Policy directive: "form-action 'none'".</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 3.0", "#directive-form-action", "form-action")}}</td>
+ <td>{{Spec2('CSP 3.0')}}</td>
+ <td>Inchangé.</td>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 1.1", "#directive-form-action", "form-action")}}</td>
+ <td>{{Spec2('CSP 1.1')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.form-action")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPheader("Content-Security-Policy")}}</li>
+ <li>{{HTMLElement("form")}}</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/frame-ancestors/index.html b/files/fr/web/http/headers/content-security-policy/frame-ancestors/index.html
new file mode 100644
index 0000000000..02431602f3
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/frame-ancestors/index.html
@@ -0,0 +1,126 @@
+---
+title: 'CSP: frame-ancestors'
+slug: Web/HTTP/Headers/Content-Security-Policy/frame-ancestors
+tags:
+ - CSP
+ - Content-Security-Policy
+ - Directive
+ - Frame
+ - HTTP
+ - Security
+ - Sécurité
+ - frame-ancestors
+ - source
+translation_of: Web/HTTP/Headers/Content-Security-Policy/frame-ancestors
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <code><strong>frame-ancestors</strong></code> spécifie les parents pouvant intégrer une page en utilisant {{HTMLElement("frame")}}, {{HTMLElement("iframe")}}, {{HTMLElement("object")}}, {{HTMLElement("embed")}}, ou {{HTMLElement("applet")}}.</p>
+
+<p>Définir cette directive à <code>'none'</code> est comparable à len-tête HTTP {{HTTPHeader("X-Frame-Options")}}<code>: deny</code> (aussi supporté sur les anciens navigateurs).</p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">CSP version</th>
+ <td>2</td>
+ </tr>
+ <tr>
+ <th scope="row">Directive type</th>
+ <td>{{Glossary("Navigation directive")}}</td>
+ </tr>
+ <tr>
+ <th scope="row">{{CSP("default-src")}} fallback</th>
+ <td>No. Not setting this allows anything.</td>
+ </tr>
+ <tr>
+ <th colspan="2" scope="row">This directive is not supported in the {{HTMLElement("meta")}} element.</th>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>Une ou plusieurs sources peuvent être autorisées pour cette directive :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: frame-ancestors &lt;source&gt;;
+Content-Security-Policy: frame-ancestors &lt;source&gt; &lt;source&gt;;
+</pre>
+
+<h3 id="Sources">Sources</h3>
+
+<p>La &lt;source&gt; peut être une des suivantes :</p>
+
+<div class="note">
+<p>The <code>frame-ancestors</code> directive’s syntax is similar to a source list of other directives (e.g. {{CSP("default-src")}}), but doesn't allow <code>'unsafe-eval'</code> or <code>'unsafe-inline'</code> for example. It will also not fall back to a <code>default-src</code> setting. Only the sources listed below are allowed:</p>
+</div>
+
+<dl>
+ <dt>&lt;host-source&gt;</dt>
+ <dd>Des hôtes Internet par leur nom de domaine ou adresse IP, aussi bien qu'un <a href="https://wiki.developer.mozilla.org/en-US/docs/URIs_and_URLs">protocole</a> et/ou un numéro de port. L'adresse du site peut inclure un caractère de remplacement optionnel (l'astérisque <code>'*'</code>), qui ne peut être utilisée que pour indiquer un sous-domaine ou que tous les ports existants sont des sources valides. Vous ne devez pas mettre de guillemets simples.<br>
+ Exemples :
+ <ul>
+ <li><code>http://*.example.com</code>: correspondra à toutes les tentatives d'accès pour tous les sous-domaines de example.com via le protocole <code>http:</code>.</li>
+ <li><code>mail.example.com:443</code>: correspondra à toutes les tentatives d'accès sur le port 443 de mail.example.com.</li>
+ <li><code>https://store.example.com</code>: correspondra à toutes les tentatives d'accès à store.example.com via le protocole <code>https:</code>.</li>
+ </ul>
+
+ <div class="blockIndicator warning">
+ <p>Si aucun schéma d'URL n'est spécifié comme <code>host-source</code> et que l'{{HTMLElement("iframe")}} est chargée via une URL <code>https:</code>, la page chargeant l'iframe doit aussi être chargée en <code>https:</code>, selon la spécification du W3C sur <a href="https://w3c.github.io/webappsec-csp/2/#match-source-expression">les correspondances de valeurs de sources</a>.</p>
+ </div>
+ </dd>
+ <dt>&lt;scheme-source&gt;</dt>
+ <dd>Un protocole tel que <code>http:</code> or <code>https:</code>. Les deux-points sont nécessaires et vous ne devez pas mettre de guillemets. Vous pouvez aussi spécifier des schémas de données bien que ce ne soit pas recommandé.
+ <ul>
+ <li><code>data:</code> Autorise <a href="/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs">les URI <code>data:</code></a> à être utilisées comme source de contenu.<em> Cette pratique manque de sécurité ; une personne malveillante peut aussi injecter des URI data: arbitraires. Utilisez cette valeur avec parcimonie et certainement pas pour des scripts.</em></li>
+ <li><code>mediastream:</code> permet aux <a href="https://wiki.developer.mozilla.org/en-US/docs/Web/API/MediaStream_API">URI <code>mediastream:</code></a> d'être utilisées comme source de contenu.</li>
+ <li><code>blob:</code> permet aux <a href="https://wiki.developer.mozilla.org/en-US/docs/Web/API/Blob">URI <code>blob:</code></a> d'être utilisées comme source de contenu.</li>
+ <li><code>filesystem:</code> Allows <a href="https://wiki.developer.mozilla.org/en-US/docs/Web/API/FileSystem">URI <code>filesystem:</code></a> d'être utilisées comme source de contenu.</li>
+ </ul>
+ </dd>
+ <dt><code>'self'</code></dt>
+ <dd>Cette valeur fait référence au domaine dont est originaire le document protégé, y compris le protocole et le numéro de port. Vous devez mettre cette valeur entre guillemets. Certains navigateurs excluent spécifiquement les valeurs <code>blob</code> et <code>filesystem</code> des directives de source. Les sites nécessitant une permission pour ces types de contenu peuvent les spécifier en utilisant l'attribut Data.</dd>
+ <dt><code>'none'</code></dt>
+ <dd>Aucune source n'est admise. Vous devez mettre cette valeur entre guillemets.</dd>
+</dl>
+
+<h2 id="Exemples">Exemples</h2>
+
+<pre class="brush: bash notranslate">Content-Security-Policy: frame-ancestors 'none';
+
+Content-Security-Policy: frame-ancestors 'self' https://www.example.org;</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 3.0", "#directive-frame-ancestors", "frame-ancestors")}}</td>
+ <td>{{Spec2('CSP 3.0')}}</td>
+ <td>Inchangé.</td>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 1.1", "#directive-frame-ancestors", "frame-ancestors")}}</td>
+ <td>{{Spec2('CSP 1.1')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.frame-ancestors")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li>{{HTTPHeader("X-Frame-Options")}}</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/frame-src/index.html b/files/fr/web/http/headers/content-security-policy/frame-src/index.html
new file mode 100644
index 0000000000..b85f12cf5a
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/frame-src/index.html
@@ -0,0 +1,97 @@
+---
+title: 'CSP: frame-src'
+slug: Web/HTTP/Headers/Content-Security-Policy/frame-src
+tags:
+ - CSP
+ - Content-Security-Policy
+ - Directive
+ - Frame
+ - HTTP
+ - Reference
+ - Security
+ - Sécurité
+ - frame-src
+ - source
+translation_of: Web/HTTP/Headers/Content-Security-Policy/frame-src
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <code><strong>frame-src</strong></code> spécifie les sources valides pour des contextes de navigation imbriqués chargés d'éléments tels que {{HTMLElement("frame")}} et {{HTMLElement("iframe")}}.</p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Version de CSP</th>
+ <td>1</td>
+ </tr>
+ <tr>
+ <th scope="row">Type de directive</th>
+ <td>{{Glossary("Fetch directive")}}</td>
+ </tr>
+ <tr>
+ <th scope="row">Valeur par défaut</th>
+ <td>Si cette directive est absente, l'agent utilisateur consultera la directive {{CSP("child-src")}}, qui a pour valeur par défaut celle de la directive {{CSP("default-src")}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>Une ou plusieurs sources peuvent être autorisées pour cette directive :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: frame-src &lt;source&gt;;
+Content-Security-Policy: frame-src &lt;source&gt; &lt;source&gt;;
+</pre>
+
+<h3 id="Sources">Sources</h3>
+
+<p>{{page("fr/Web/HTTP/Headers/Content-Security-Policy/connect-src", "Sources")}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Cas_de_violation">Cas de violation</h3>
+
+<p>Soit cet en-tête CSP :</p>
+
+<pre class="brush: bash notranslate">Content-Security-Policy: frame-src https://example.com/</pre>
+
+<p>Cet élément {{HTMLElement("iframe")}} est bloqué et ne se chargera pas :</p>
+
+<pre class="brush: html notranslate">&lt;iframe src="https://not-example.com/"&gt;&lt;/iframe&gt;</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{specName("CSP 3.0", "#directive-frame-src", "frame-src")}}</td>
+ <td>{{Spec2('CSP 3.0')}}</td>
+ <td>Réappréciation de <code>frame-src</code>.</td>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 1.1", "#directive-frame-src", "frame-src")}}</td>
+ <td>{{Spec2('CSP 1.1')}}</td>
+ <td>Dépréciation de <code>frame-src</code>.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.frame-src")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li>{{HTMLElement("frame")}} and {{HTMLElement("iframe")}}</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/img-src/index.html b/files/fr/web/http/headers/content-security-policy/img-src/index.html
new file mode 100644
index 0000000000..91ac0401b1
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/img-src/index.html
@@ -0,0 +1,97 @@
+---
+title: 'CSP: img-src'
+slug: Web/HTTP/Headers/Content-Security-Policy/img-src
+tags:
+ - CSP
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Image
+ - Reference
+ - Security
+ - Sécurité
+ - img-src
+ - source
+translation_of: Web/HTTP/Headers/Content-Security-Policy/img-src
+---
+<div>{{HTTPSidebar}}</div>
+
+<p><span class="seoSummary">La directive HTTP {{HTTPHeader("Content-Security-Policy")}} <code><strong>img-src</strong></code> sépcifie les sources valides d'images et de favicons.</span></p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Version de CSP</th>
+ <td>1</td>
+ </tr>
+ <tr>
+ <th scope="row">Type de directive</th>
+ <td>{{Glossary("Fetch directive")}}</td>
+ </tr>
+ <tr>
+ <th scope="row">{{CSP("default-src")}} par défaut</th>
+ <td>Oui, si cette directive est absente, l'agent utilisateur consultera la directive <code>default-src</code></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>Une ou plusieurs sources peuvent être autorisées pour cette directive :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: img-src &lt;source&gt;;
+Content-Security-Policy: img-src &lt;source&gt; &lt;source&gt;;
+</pre>
+
+<h3 id="Sources">Sources</h3>
+
+<p>{{page("fr/Web/HTTP/Headers/Content-Security-Policy/default-src", "Sources")}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Cas_de_violation">Cas de violation</h3>
+
+<p>Soit cet en-tête CSP :</p>
+
+<pre class="brush: bash notranslate">Content-Security-Policy: img-src https://example.com/</pre>
+
+<p>Cet élément {{HTMLElement("img")}} est bloqué et ne se chargera pas :</p>
+
+<pre class="brush: html notranslate">&lt;img src="https://not-example.com/foo.jpg" alt="example picture"&gt;</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{specName("CSP 3.0", "#directive-img-src", "img-src")}}</td>
+ <td>{{Spec2('CSP 3.0')}}</td>
+ <td>Inchangé.</td>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 1.1", "#directive-img-src", "img-src")}}</td>
+ <td>{{Spec2('CSP 1.1')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.img-src")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li>{{HTMLElement("img")}}</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/index.html b/files/fr/web/http/headers/content-security-policy/index.html
new file mode 100644
index 0000000000..4d4a843a19
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/index.html
@@ -0,0 +1,252 @@
+---
+title: Politique de sécurité de contenu
+slug: Web/HTTP/Headers/Content-Security-Policy
+tags:
+ - CSP
+ - HTTP
+ - Référence(2)
+ - Sécurité
+ - en-tête
+translation_of: Web/HTTP/Headers/Content-Security-Policy
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>L'en-tête de réponse HTTP <strong><code>Content-Security-Policy</code></strong> permet aux administrateurs d'un site web de contrôler les ressources que l'agent utilisateur est autorisé à charger pour une page donnée. Bien qu'il y ait quelques exceptions, ces règles impliquent la plupart du temps de définir les origines du serveur et les points d'accès pour les scripts. Cet en-tête aide à se protéger contre les attaques de <em>cross-site scripting</em> ({{Glossary("XSS")}}).</p>
+
+<p>Pour plus d'informations, voir cet article sur <a href="/fr/docs/Web/HTTP/CSP"><em>Content Security Policy</em> (CSP)</a>.</p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Type d'en-tête</th>
+ <td>En-tête de réponse</td>
+ </tr>
+ <tr>
+ <th scope="row">Nom d'en-tête interdit</th>
+ <td>Non</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: &lt;policy-directive&gt;; &lt;policy-directive&gt;
+</pre>
+
+<h2 id="Directives">Directives</h2>
+
+<h3 id="Directives_de_récupération_fetch">Directives de récupération (<em>fetch</em>)</h3>
+
+<p>Les directives de récupération (ou <em>fetch directives</em> en anglais) contrôlent les emplacements à partir desquels certains types de ressource peuvent être chargés.</p>
+
+<dl>
+ <dt>{{CSP("child-src")}}</dt>
+ <dd>Définit les sources valides pour les <a href="/fr/docs/Web/API/Web_Workers_API">web workers</a> et les éléments qui représentent des contextes de navigation imbriqués tels que {{HTMLElement("frame")}} et {{HTMLElement("iframe")}}.</dd>
+</dl>
+
+<div class="blockIndicator warning">Plutôt que la directive <strong><code>child-src</code></strong>, si vous souhaitez réguler les contextes de navigation imbriqués et les workers séparément, vous pouvez utiliser respectivement les directives {{CSP("frame-src")}} et {{CSP("worker-src")}}.</div>
+
+<dl>
+ <dt>{{CSP("connect-src")}}</dt>
+ <dd>Restreint les URL qui peuvent être chargées via des scripts.</dd>
+ <dt>{{CSP("default-src")}}</dt>
+ <dd>Représente la valeur par défaut des directives de récupération qui ne sont pas définies explicitement.</dd>
+ <dt>{{CSP("font-src")}}</dt>
+ <dd>Définit les sources valides pour les polices de caractères chargées depuis {{cssxref("@font-face")}}.</dd>
+ <dt>{{CSP("frame-src")}}</dt>
+ <dd>Définit les sources valides pour les éléments qui représentent des contextes de navigation imbriqués, tels que {{HTMLElement("frame")}} et {{HTMLElement("iframe")}}.</dd>
+ <dt>{{CSP("img-src")}}</dt>
+ <dd>Définit les sources valides pour les images et les favicons.</dd>
+ <dt>{{CSP("manifest-src")}}</dt>
+ <dd>Définit les sources valides pour les fichiers de manifeste d'application.</dd>
+ <dt>{{CSP("media-src")}}</dt>
+ <dd>Définit les sources valides pour les ressources média des éléments {{HTMLElement("audio")}} et {{HTMLElement("video")}}.</dd>
+ <dt>{{CSP("object-src")}}</dt>
+ <dd>Définit les sources valides pour les ressources des éléments {{HTMLElement("object")}}, {{HTMLElement("embed")}} et {{HTMLElement("applet")}}.</dd>
+</dl>
+
+<div class="blockIndicator note">
+<p>Les éléments contrôlés pa ar <code>object-src</code> sont considérés peut-être par coïcidence comme des éléments HTML du passé et ne recevront de nouvelles fonctionnalités normalisées (comme les attributs de sécurité <code>sandbox</code> et <code>allow</code> pour <code>&lt;iframe&gt;</code>). De ce fait, il est <strong>recommandé</strong> de restreindre cette directive, c'est-à-dire la définir explicitement à <code>object-src 'none'</code> dans la mesure du possible.</p>
+</div>
+
+<dl>
+ <dt>{{CSP("prefetch-src")}}</dt>
+ <dd>Définit .</dd>
+ <dt>{{CSP("script-src")}}</dt>
+ <dd>Définit les sources valides pour les fichiers JavaScript.</dd>
+ <dt>{{CSP("script-src-elem")}}{{experimental_inline}}</dt>
+ <dd>Définit les sources valides de code JavaScript chargé avec l'élément {{HTMLElement("script")}}.</dd>
+ <dt>{{CSP("script-src-attr")}}{{experimental_inline}}</dt>
+ <dd>Définit les sources valides de JavaScript pour les écouteurs d'évènements par les attributs <code>on&lt;eventName&gt;</code>.</dd>
+ <dt>{{CSP("style-src")}}</dt>
+ <dd>Définit les sources valides pour les feuilles de styles.</dd>
+ <dt>{{CSP("style-src-elem")}}{{experimental_inline}}</dt>
+ <dd>Définit les sources valides pour les feuilles de styles définies avec l'élément {{HTMLElement("style")}} ou chargées avec l'élément {{HTMLElement("link")}} ayant l'attribut <code>rel="stylesheet"</code>.</dd>
+ <dt>{{CSP("style-src-attr")}}{{experimental_inline}}</dt>
+ <dd>Définit les sources valides pour les feuilles de styles embarquées appliquées à des éléments individuels du DOM par l'attribut <code>style</code>.</dd>
+ <dt>{{CSP("worker-src")}}</dt>
+ <dd>Définit les sources valides pour les scripts des {{domxref("Worker")}}, {{domxref("SharedWorker")}} et {{domxref("ServiceWorker")}}.</dd>
+</dl>
+
+<h3 id="Directives_de_document">Directives de document</h3>
+
+<p>Les directives de document permettent de paramétrer les propriétés d'un document ou d'un environnement pour <a href="/fr/docs/Web/API/Web_Workers_API">un <em>web worker</em></a> auquel une règle de sécurité s'applique.</p>
+
+<dl>
+ <dt>{{CSP("base-uri")}}</dt>
+ <dd>Restreint les URL qui peuvent être utilisées au sein de l'élément {{HTMLElement("base")}} d'un document.</dd>
+ <dt>{{CSP("plugin-types")}}</dt>
+ <dd>Restreint le type de plugin qui peut être intégré dans un document en limitant le type de ressource qui peut être chargé.</dd>
+ <dt>{{CSP("sandbox")}}</dt>
+ <dd>Active un bac-à-sable (<em>sandbox</em>) pour la ressource visée. Cela fonctionne de façon analogue à l'attribut {{htmlattrxref("sandbox", "iframe")}} de {{HTMLElement("iframe")}}.</dd>
+</dl>
+
+<h3 id="Directives_de_navigation">Directives de navigation</h3>
+
+<p>Les directives de navigation permettent par exemple de paramétrer les emplacements vers lesquels l'utilisateur peut naviguer ou envoyer un formulaire.</p>
+
+<dl>
+ <dt>{{CSP("form-action")}}</dt>
+ <dd>Restreint les URL qui peuvent être utilisées comme cibles pour envoyer des formulaires depuis un contexte donné.</dd>
+ <dt>{{CSP("frame-ancestors")}}</dt>
+ <dd>Définit les parent valides qui peuvent intégrer une page grâce aux éléments {{HTMLElement("frame")}}, {{HTMLElement("iframe")}}, {{HTMLElement("object")}}, {{HTMLElement("embed")}}, ou {{HTMLElement("applet")}}.</dd>
+ <dt>{{CSP("navigate-to")}}{{experimental_inline}}</dt>
+ <dd>Restreint les URL vers lesquelles on peut naviguer depuis un document, quel que soit le moyen de navigation (un lien, un formulaire, <code>window.location</code>, <code>window.open</code>, etc.)</dd>
+</dl>
+
+<h3 id="Directives_de_rapport">Directives de rapport</h3>
+
+<p>Les directives de rapport permettent de contrôler ce qui se passe lorsqu'une règle CSP est violée. Voir également l'en-tête {{HTTPHeader("Content-Security-Policy-Report-Only")}}.</p>
+
+<dl>
+ <dt>{{CSP("report-uri")}}{{deprecated_inline}}</dt>
+ <dd>Indique à l'agent utilisateur de rapporter les tentatives d'enfreintes du CSP. Un rapport d'enfreinte est un ensemble de documents JSON envoyés via une requête HTTP <code>POST</code> à l'URI indiquée.</dd>
+</dl>
+
+<div class="warning">
+<p>Bien que la directive <a href="https://wiki.developer.mozilla.org/fr/docs/Web/HTTP/Headers/Content-Security-Policy/report-to" title="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."><code>report-to</code></a> est prévue remplacer la directive <code><strong>report-uri</strong></code> maintenant dépréciée, <a href="https://wiki.developer.mozilla.org/fr/docs/Web/HTTP/Headers/Content-Security-Policy/report-to" title="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."><code>report-to</code></a> n'est pas encore supportée par la plupart des navigateurs modernes. Par rétrocompatibilité avec les navigateurs courants et tout en prévoyant une compatibilité future quand les navigateurs supporteront <a href="https://wiki.developer.mozilla.org/fr/docs/Web/HTTP/Headers/Content-Security-Policy/report-to" title="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."><code>report-to</code></a>, vous pouvez spécifier les deux directives <code><strong>report-uri</strong></code> et <a href="https://wiki.developer.mozilla.org/fr/docs/Web/HTTP/Headers/Content-Security-Policy/report-to" title="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."><code>report-to</code></a>:</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: ...; report-uri https://endpoint.com; report-to groupname</pre>
+
+<p>Dans les navigateurs qui supportent <a href="https://wiki.developer.mozilla.org/fr/docs/Web/HTTP/Headers/Content-Security-Policy/report-to" title="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."><code>report-to</code></a>, la directive <code><strong>report-uri</strong></code> sera ignorée.</p>
+</div>
+
+<dl>
+ <dt>{{CSP("report-to")}}{{experimental_inline}}</dt>
+ <dd>Déclenche un évènement <code>SecurityPolicyViolationEvent</code>.</dd>
+</dl>
+
+<h3 id="Autres_directives">Autres directives</h3>
+
+<dl>
+ <dt>{{CSP("block-all-mixed-content")}}</dt>
+ <dd>Empêche le chargement de toute ressource via HTTP lorsque la page est chargée avec HTTPS.</dd>
+ <dt>{{CSP("referrer")}} {{deprecated_inline}}{{non-standard_inline}}</dt>
+ <dd>{{HTTPHeader("Referrer-Policy")}} doit être utilisé à la place. Était utilisée pour indiquer l'en-tête référent (sic) pour les liens sortants.</dd>
+ <dt>{{CSP("require-sri-for")}}{{experimental_inline}}</dt>
+ <dd>Oblige à utiliser le contrôle d'intégrité des sous-ressources ({{Glossary("SRI")}}) pour les scripts ou les styles de la page.</dd>
+ <dt>{{CSP("trusted-types")}}{{experimental_inline}}</dt>
+ <dd>Utilisée pour spécifier une liste de permissions de règles de <a href="https://w3c.github.io/webappsec-trusted-types/dist/spec/">Trusted Types</a>. Les Trusted Types permettent à des applications de verrouiller les puits d'injection XSS dans le DOM pour n'accepter que des valeurs typées et non falsifiables plutôt que des chaines de caractères.</dd>
+ <dt>{{CSP("upgrade-insecure-requests")}}</dt>
+ <dd>Indique à l'agent utilisateur de considérer toutes les URL non-sécurisées d'un site (celles servies via HTTP) comme si elles avaient été remplacées par des URL sécurisées. Cette directive est destinée aux sites web qui ont de nombreuses URL historiques non-sécurisées et qui doivent être réécrites.</dd>
+</dl>
+
+<h2 id="Utilisation_du_CSP_dans_les_web_workers">Utilisation du <em>CSP</em> dans les <em>web workers</em></h2>
+
+<p>En général, les <em>web workers</em> ne sont pas gérés par les règles de sécurité du contenu du document (ou du <em>worker</em> parent) qui les a créé. Pour indiquer une règle de sécurité du contenu pour le <em>worker</em>, on utilisera un en-tête de réponse <code>Content-Security-Policy</code> pour la requête qui a demandé le script du <em>worker</em>.</p>
+
+<p>Il y a une exception à cette règle lorsque l'origine du script d'un <em>worker</em> est un identifiant global unique (par exemple si l'URL utilise un schéma de donnée ou un blob). Dans ce cas, le <em>worker</em> hérite de la règle de sécurité du contenu depuis le document ou le <em>worker</em> qui l'a créé.</p>
+
+<h2 id="Gérer_plusieurs_politiques_de_sécurité">Gérer plusieurs politiques de sécurité</h2>
+
+<p>Le CSP permet d'indiquer plusieurs règles pour une même ressource avec l'en-tête <code>Content-Security-Policy</code>, l'en-tête {{HTTPHeader("Content-Security-Policy-Report-Only")}} et l'élément {{HTMLElement("meta")}}.</p>
+
+<p>L'en-tête <code>Content-Security-Policy</code> peut être utilisé plus d'une fois comme illustré ci-après. On notera la directive {{CSP("connect-src")}} utilisée ici. Bien que la deuxième règle autorise la connexion, la première contient <code>connect-src 'none'</code>. L'ajout de règles supplémentaires permet uniquement d'augmenter les protections. Les niveaux les plus stricts pour chaque règle sont alors utilisés. Dans l'exemple qui suit, cela signifie que la directive <code>connect-src 'none'</code> sera respectée.</p>
+
+<pre class="notranslate">Content-Security-Policy: default-src 'self' http://example.com;
+ connect-src 'none';
+Content-Security-Policy: connect-src http://example.com/;
+ script-src http://example.com/</pre>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Exemple_1">Exemple 1</h3>
+
+<p>Dans cet exemple, on désactive les scripts écrits à même le document (<em>inline</em>), les opérations <code>eval()</code> et les ressources (images, polices, scripts, etc.) peuvent uniquement être chargées via HTTPS :</p>
+
+<pre class="notranslate">// en-tête HTTP
+Content-Security-Policy: default-src https:
+
+// version avec la balise HTML meta
+&lt;meta http-equiv="Content-Security-Policy" content="default-src https:"&gt;
+</pre>
+
+<h3 id="Exemple_2">Exemple 2</h3>
+
+<p>Cet exemple est plutôt adapté pour un site historique qui utilise de nombreux scripts écrits dans les documents mais pour lequel on veut s'assurer que les ressources sont chargées via HTTPS et pour lequel on veut désactiver les plugins :</p>
+
+<pre class="notranslate">Content-Security-Policy: default-src https: 'unsafe-eval' 'unsafe-inline'; object-src 'none'</pre>
+
+<h3 id="Exemple_3">Exemple 3</h3>
+
+<p>On ne met pas en place la règle de sécurité mais on récolte les enfreintes qui se seraient produites pour cette règle :</p>
+
+<pre class="notranslate">Content-Security-Policy-Report-Only: default-src https:; report-uri /csp-violation-report-endpoint/</pre>
+
+<p>Pour plus d'exemples, consulter <a href="https://wiki.mozilla.org/Security/Guidelines/Web_Security#Examples_5">les recommandations de Mozilla pour la sécurité web</a>.</p>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 3.0")}}</td>
+ <td>{{Spec2('CSP 3.0')}}</td>
+ <td>Ajout de <code>manifest-src</code>, <code>navigation-to</code>, <code>report-to</code>, <code>strict-dynamic</code>, <code>worker-src</code>. <code>frame-src</code> n'est plus déprécié. <code>report-uri</code> est déprécié au profit de <code>report-to</code>.</td>
+ </tr>
+ <tr>
+ <td>{{specName("Mixed Content")}}</td>
+ <td>{{Spec2("Mixed Content")}}</td>
+ <td>Ajout de <code>block-all-mixed-content</code>.</td>
+ </tr>
+ <tr>
+ <td>{{specName("Subresource Integrity")}}</td>
+ <td>{{Spec2("Subresource Integrity")}}</td>
+ <td>Ajout de <code>require-sri-for</code>.</td>
+ </tr>
+ <tr>
+ <td>{{specName("Upgrade Insecure Requests")}}</td>
+ <td>{{Spec2("Upgrade Insecure Requests")}}</td>
+ <td>Ajout de <code>upgrade-insecure-requests</code>.</td>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 1.1")}}</td>
+ <td>{{Spec2("CSP 1.1")}}</td>
+ <td>Ajout de <code>base-uri</code>, <code>child-src</code>, <code>form-action</code>, <code>frame-ancestors</code>, <code>plugin-types</code>, <code>referrer</code>, <code>reflected-xss</code> et <code>report-uri</code>. Dépréciation de <code>frame-src</code>.</td>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 1.0")}}</td>
+ <td>{{Spec2("CSP 1.0")}}</td>
+ <td>Définition de <code>connect-src</code>, <code>default-src</code>, <code>font-src</code>, <code>frame-src</code>, <code>img-src</code>, <code>media-src</code>, <code>object-src</code>, report-uri, <code>sandbox</code>, <code>script-src</code> et <code>style-src</code>.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy-Report-Only")}}</li>
+ <li><a href="/fr/Add-ons/WebExtensions/Content_Security_Policy">La sécurité du contenu pour les WebExtensions</a></li>
+ <li>
+ <p><a href="/fr/docs/Outils/Barre_de_développement/Display_security_and_privacy_policies">Les sécurités pour l'affichage et la confidentialité dans les outils de développement de Firefox</a></p>
+ </li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/manifest-src/index.html b/files/fr/web/http/headers/content-security-policy/manifest-src/index.html
new file mode 100644
index 0000000000..4f24083c47
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/manifest-src/index.html
@@ -0,0 +1,93 @@
+---
+title: 'CSP: manifest-src'
+slug: Web/HTTP/Headers/Content-Security-Policy/manifest-src
+tags:
+ - CSP
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Manifest
+ - Reference
+ - Security
+ - Sécurité
+ - manifest-src
+ - source
+translation_of: Web/HTTP/Headers/Content-Security-Policy/manifest-src
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} <code><strong>manifest-src</strong></code> spécifie quel <a href="/en-US/docs/Web/Manifest">manifeste</a> peut être appliqué à la ressource.</p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Version de CSP</th>
+ <td>3</td>
+ </tr>
+ <tr>
+ <th scope="row">Type de directive</th>
+ <td>{{Glossary("Fetch directive")}}</td>
+ </tr>
+ <tr>
+ <th scope="row">{{CSP("default-src")}} par défaut</th>
+ <td>Oui, si cette directive est absente, l'agent utilisateur consultera la directive <code>default-src</code></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>Une ou plusieurs sources peuvent être autorisées pour cette directive :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: manifest-src &lt;source&gt;;
+Content-Security-Policy: manifest-src &lt;source&gt; &lt;source&gt;;
+</pre>
+
+<h3 id="Sources">Sources</h3>
+
+<p>{{page("fr/Web/HTTP/Headers/Content-Security-Policy/connect-src", "Sources")}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Violation_cases">Violation cases</h3>
+
+<p>Soit cet en-tête CSP :</p>
+
+<pre class="brush: bash notranslate">Content-Security-Policy: manifest-src https://example.com/</pre>
+
+<p>Cet élément {{HTMLElement("link")}} sera bloqué et ne se chargera pas :</p>
+
+<pre class="brush: html notranslate">&lt;link rel="manifest" href="https://not-example.com/manifest"&gt;</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{specName("CSP 3.0", "#directive-manifest-src", "manifest-src")}}</td>
+ <td>{{Spec2('CSP 3.0')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.manifest-src")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li><a href="/en-US/docs/Web/Manifest">Web app manifest</a></li>
+ <li>{{HTMLElement("link")}}</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/media-src/index.html b/files/fr/web/http/headers/content-security-policy/media-src/index.html
new file mode 100644
index 0000000000..5c8e876be4
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/media-src/index.html
@@ -0,0 +1,101 @@
+---
+title: 'CSP: media-src'
+slug: Web/HTTP/Headers/Content-Security-Policy/media-src
+tags:
+ - CSP
+ - Conten-Security-Policy
+ - Directive
+ - HTTP
+ - Media
+ - Reference
+ - Security
+ - Sécurité
+ - media-src
+ - source
+translation_of: Web/HTTP/Headers/Content-Security-Policy/media-src
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <code><strong>media-src</strong></code> spécifie les sources valides pour charger des médias en utilisant des éléments tels que {{HTMLElement("audio")}} et {{HTMLElement("video")}}.</p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Version de CSP</th>
+ <td>1</td>
+ </tr>
+ <tr>
+ <th scope="row">Type de directive</th>
+ <td>{{Glossary("Fetch directive")}}</td>
+ </tr>
+ <tr>
+ <th scope="row">{{CSP("default-src")}} par défaut</th>
+ <td>Oui, si cette directive est absente, l'agent utilisateur consultera la directive <code>default-src</code></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>Une ou plusieurs sources peuvent être autorisées pour cette directive :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: media-src &lt;source&gt;;
+Content-Security-Policy: media-src &lt;source&gt; &lt;source&gt;;
+</pre>
+
+<h3 id="Sources">Sources</h3>
+
+<p>{{page("fr/Web/HTTP/Headers/Content-Security-Policy/connect-src", "Sources")}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Cas_de_violation">Cas de violation</h3>
+
+<p>Soit cet en-tête CSP :</p>
+
+<pre class="brush: bash notranslate">Content-Security-Policy: media-src https://example.com/</pre>
+
+<p>Ces éléments {{HTMLElement("audio")}}, {{HTMLElement("video")}} et {{HTMLElement("track")}} seront bloqués et ne se chargeront pas :</p>
+
+<pre class="brush: html notranslate">&lt;audio src="https://not-example.com/audio"&gt;&lt;/audio&gt;
+
+&lt;video src="https://not-example.com/video"&gt;
+ &lt;track kind="subtitles" src="https://not-example.com/subtitles"&gt;
+&lt;/video&gt;</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{specName("CSP 3.0", "#directive-media-src", "media-src")}}</td>
+ <td>{{Spec2('CSP 3.0')}}</td>
+ <td>Inchangé.</td>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 1.1", "#directive-media-src", "media-src")}}</td>
+ <td>{{Spec2('CSP 1.1')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.media-src")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li>{{HTMLElement("audio")}}, {{HTMLElement("video")}} and {{HTMLElement("track")}}</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/navigate-to/index.html b/files/fr/web/http/headers/content-security-policy/navigate-to/index.html
new file mode 100644
index 0000000000..19bd1d6e5b
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/navigate-to/index.html
@@ -0,0 +1,104 @@
+---
+title: 'CSP: navigate-to'
+slug: Web/HTTP/Headers/Content-Security-Policy/navigate-to
+tags:
+ - CSP
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Navigation
+ - Reference
+ - Security
+ - Sécurité
+ - navigate-to
+translation_of: Web/HTTP/Headers/Content-Security-Policy/navigate-to
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <code><strong>navigate</strong></code><strong><code>-to</code></strong> restreint les URL vers lesquelles un document peut initier une navigation de quelque manière que ce soit, dont {{HTMLElement("form")}} (si {{CSP("form-action")}} n'est pas spécifié), {{HTMLElement("a")}}, {{DOMxRef("window.location")}}, {{DOMxRef("window.open")}}, etc. Elle permet de renforcer les navigations que le document peut initier et <strong>non</strong> les adresses vers lesquelles ce document peut naviguer.</p>
+
+<div class="blockIndicator note">
+<p><strong>Note :</strong> Si la directive {{CSP("form-action")}} est présente, la directive <code>navigate-to</code> ne sera pas appliquée sur la navigation par la soumission de formulaire.</p>
+</div>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Version de CSP</th>
+ <td>3</td>
+ </tr>
+ <tr>
+ <th scope="row">Type de directive</th>
+ <td>{{Glossary("Navigation directive")}}</td>
+ </tr>
+ <tr>
+ <th scope="row">{{CSP("default-src")}} par défaut</th>
+ <td>Non, ne pas la définir autorise toutes les adresses.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>Une ou plusieurs sources peuvent être utilisées pour cette directive :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: navigate-to &lt;source&gt;;
+Content-Security-Policy: navigate-to &lt;source&gt; &lt;source&gt;;
+</pre>
+
+<h3 id="Sources">Sources</h3>
+
+<p>{{page("fr/Web/HTTP/Headers/Content-Security-Policy/default-src", "Sources")}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Configuration_par_balise_&lt;meta>">Configuration par balise &lt;meta&gt;</h3>
+
+<pre class="brush: html notranslate">&lt;meta http-equiv="Content-Security-Policy" content="navigate-to 'none'"&gt;
+</pre>
+
+<h3 id="Cas_de_violation">Cas de violation</h3>
+
+<p>Utiliser l'élément {{HTMLElement("form")}} avec un attribut <code>action</code> défini à un script embarqué en JavaScript résultera en une violation de CSP :</p>
+
+<pre class="brush: html; example-bad notranslate">&lt;meta http-equiv="Content-Security-Policy" content="navigate-to 'none'"&gt;
+
+&lt;form action="javascript:alert('Foo')" id="form1" method="post"&gt;
+ &lt;input type="text" name="fieldName" value="fieldValue"&gt;
+ &lt;input type="submit" id="submit" value="submit"&gt;
+&lt;/form&gt;
+</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 3.0", "#directive-navigate-to", "navigate-to")}}</td>
+ <td>{{Spec2("CSP 3.0")}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p class="hidden">The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.navigate-to")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPheader("Content-Security-Policy")}}</li>
+ <li>{{CSP("form-action")}}</li>
+ <li>Attribut <code>href</code> {{HTMLElement("a")}}</li>
+ <li>{{HTMLElement("form")}}</li>
+ <li>{{DOMxRef("window.location")}}</li>
+ <li>{{DOMxRef("window.open")}}</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/object-src/index.html b/files/fr/web/http/headers/content-security-policy/object-src/index.html
new file mode 100644
index 0000000000..0140afd0db
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/object-src/index.html
@@ -0,0 +1,104 @@
+---
+title: 'CSP: object-src'
+slug: Web/HTTP/Headers/Content-Security-Policy/object-src
+tags:
+ - CSP
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Object
+ - Reference
+ - Security
+ - Sécurité
+ - object-src
+ - source
+translation_of: Web/HTTP/Headers/Content-Security-Policy/object-src
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} <code><strong>object-src</strong></code> spécifie les sources valides pour les éléments {{HTMLElement("object")}}, {{HTMLElement("embed")}} et {{HTMLElement("applet")}}.</p>
+
+<p>Pour définir des types autorisés pour les éléments {{HTMLElement("object")}}, {{HTMLElement("embed")}} et {{HTMLElement("applet")}}, voir la directive {{CSP("plugin-types")}}.</p>
+
+<p class="note">Les éléments contrôlés par <code>object-src</code> sont considérés peut-être par coïcidence comme des éléments HTML du passé et ne recevront de nouvelles fonctionnalités normalisées (comme les attributs de sécurité <code>sandbox</code> et <code>allow</code> pour <code>&lt;iframe&gt;</code>). De ce fait, il est <a href="https://csp.withgoogle.com/docs/strict-csp.html">recommandé</a> de restreindre cette directive, c'est-à-dire la définir explicitement à <code>object-src 'none'</code> dans la mesure du possible.</p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Version de CSP</th>
+ <td>1</td>
+ </tr>
+ <tr>
+ <th scope="row">Type de directive</th>
+ <td>{{Glossary("Fetch directive")}}</td>
+ </tr>
+ <tr>
+ <th scope="row">{{CSP("default-src")}} par défaut</th>
+ <td>Oui, si cette directive est absente, l'agent utilisateur consultera la directive <code>default-src</code></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>Une ou plusieurs sources peuvent être autorisées pour cette directive :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: object-src &lt;source&gt;;
+Content-Security-Policy: object-src &lt;source&gt; &lt;source&gt;;
+</pre>
+
+<h3 id="Sources">Sources</h3>
+
+<p>{{page("fr/Web/HTTP/Headers/Content-Security-Policy/connect-src", "Sources")}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Cas_de_violation">Cas de violation</h3>
+
+<p>Soit cet en-tête CSP :</p>
+
+<pre class="brush: bash notranslate">Content-Security-Policy: object-src https://example.com/</pre>
+
+<p>Ces éléments {{HTMLElement("object")}}, {{HTMLElement("embed")}} et {{HTMLElement("applet")}} seront bloqués et ne se chargeront pas :</p>
+
+<pre class="brush: html notranslate">&lt;embed src="https://not-example.com/flash"&gt;&lt;/embed&gt;
+&lt;object data="https://not-example.com/plugin"&gt;&lt;/object&gt;
+&lt;applet archive="https://not-example.com/java"&gt;&lt;/applet&gt;</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{specName("CSP 3.0", "#directive-object-src", "object-src")}}</td>
+ <td>{{Spec2('CSP 3.0')}}</td>
+ <td>Inchangé.</td>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 1.1", "#directive-object-src", "object-src")}}</td>
+ <td>{{Spec2('CSP 1.1')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.object-src")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li>{{HTMLElement("object")}}, {{HTMLElement("embed")}}, and {{HTMLElement("applet")}}</li>
+ <li>{{CSP("plugin-types")}}</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/plugin-types/index.html b/files/fr/web/http/headers/content-security-policy/plugin-types/index.html
new file mode 100644
index 0000000000..d91ed93f9b
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/plugin-types/index.html
@@ -0,0 +1,121 @@
+---
+title: 'CSP: plugin-types'
+slug: Web/HTTP/Headers/Content-Security-Policy/plugin-types
+tags:
+ - CSP
+ - Content-Security-Policy
+ - Directive
+ - Flash
+ - Greffon
+ - HTTP
+ - Java
+ - Plugin
+ - Security
+ - Sécurité
+translation_of: Web/HTTP/Headers/Content-Security-Policy/plugin-types
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <code><strong>plugin-types</strong></code> restreint l'ensemble des greffons pouvant être intégrés dans un document en limitant les types de ressources pouvant être chargées.</p>
+
+<p>L'instanciation d'éléments {{HTMLElement("embed")}}, {{HTMLElement("object")}} ou {{HTMLElement("applet")}} échouera si :</p>
+
+<ul>
+ <li>l'élément à charger ne déclarer pas de type MIME valide,</li>
+ <li>le type déclaré ne correspond pas à un des types spécifiés dans la directive <code>plugin-types</code>,</li>
+ <li>les ressources demandées ne correspondent pas au type déclaré.</li>
+</ul>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Version de CSP</th>
+ <td>2</td>
+ </tr>
+ <tr>
+ <th scope="row">Type de directive</th>
+ <td>{{Glossary("Document directive")}}</td>
+ </tr>
+ <tr>
+ <th scope="row">{{CSP("default-src")}} par défaut</th>
+ <td>Non, ne pas la définir autorise toutes les ressources</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>Un ou plusieurs <a href="/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types">types MIME</a> peuvent être autorisées pour cette directive :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: plugin-types &lt;type&gt;/&lt;subtype&gt;;
+Content-Security-Policy: plugin-types &lt;type&gt;/&lt;subtype&gt; &lt;type&gt;/&lt;subtype&gt;;
+</pre>
+
+<dl>
+ <dt>&lt;type&gt;/&lt;subtype&gt;</dt>
+ <dd>Un <a href="/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types">type MIME</a> valide.</dd>
+</dl>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Interdire_les_greffons">Interdire les greffons</h3>
+
+<p>Pour intedire tous les greffons, la directive {{CSP("object-src")}} doit être définie à <code>'none'</code>. La directive <code>plugin-types</code> n'est utilisée que si vous autorisez au préalable les greffons avec <code>object-src</code>.</p>
+
+<pre class="brush: html notranslate">&lt;meta http-equiv="Content-Security-Policy" content="object-src 'none'"&gt;</pre>
+
+<h3 id="Autoriser_le_contenu_Flash">Autoriser le contenu Flash</h3>
+
+<p>Soit cet en-tête CSP :</p>
+
+<pre class="brush: bash notranslate">Content-Security-Policy: plugin-types application/x-shockwave-flash</pre>
+
+<p>Cet objet Flash sera autorisé et se chargera (dans la mesure où le navigateur gère Flash) :</p>
+
+<pre class="brush: html notranslate">&lt;object data="https://example.com/flash" type="application/x-shockwave-flash"&gt;&lt;/object&gt;</pre>
+
+<h3 id="Autoriser_les_applets_Java">Autoriser les applets Java</h3>
+
+<p>Pour charger une {{HTMLElement("applet")}}, vous devez spécifier la valeur <code>application/x-java-applet</code> :</p>
+
+<pre class="brush: bash notranslate">Content-Security-Policy: plugin-types application/x-java-applet</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{specName("CSP 3.0", "#directive-plugin-types", "plugin-types")}}</td>
+ <td>{{Spec2('CSP 3.0')}}</td>
+ <td>Inchangé.</td>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 1.1", "#directive-plugin-types", "plugin-types")}}</td>
+ <td>{{Spec2('CSP 1.1')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.plugin-types")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}: {{CSP("object-src")}}</li>
+ <li>{{HTMLElement("object")}}</li>
+ <li>{{HTMLElement("embed")}}</li>
+ <li>{{HTMLElement("applet")}}</li>
+ <li>{{HTTPHeader("X-Content-Type-Options")}}</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/prefetch-src/index.html b/files/fr/web/http/headers/content-security-policy/prefetch-src/index.html
new file mode 100644
index 0000000000..81d2f5f0fa
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/prefetch-src/index.html
@@ -0,0 +1,88 @@
+---
+title: 'CSP: prefetch-src'
+slug: Web/HTTP/Headers/Content-Security-Policy/prefetch-src
+tags:
+ - CSP
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Reference
+ - prefetch-src
+ - source
+translation_of: Web/HTTP/Headers/Content-Security-Policy/prefetch-src
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <code><strong>prefetch-src</strong></code> spécifie les ressources pouvant être préchargées ou préaffichées.</p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Version de CSP</th>
+ <td>3</td>
+ </tr>
+ <tr>
+ <th scope="row">Type de directive</th>
+ <td>{{Glossary("Fetch directive")}}</td>
+ </tr>
+ <tr>
+ <th scope="row">{{CSP("default-src")}} par défaut</th>
+ <td>Oui, si cette directive est absente, l'agent utilisateur consultera la directive <code>default-src</code></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>Une ou plusieurs sources peuvent être autorisées pour cette directive :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: prefetch-src &lt;source&gt;;
+Content-Security-Policy: prefetch-src &lt;source&gt; &lt;source&gt;;
+</pre>
+
+<h3 id="Sources">Sources</h3>
+
+<p>{{page("/fr/docs/Web/HTTP/Headers/Content-Security-Policy/default-src", "common_sources")}}</p>
+
+<h2 id="Exemple">Exemple</h2>
+
+<h3 id="Cas_de_violation">Cas de violation</h3>
+
+<p>Soit cet en-tête CSP :</p>
+
+<pre class="notranslate">Content-Security-Policy: prefetch-src https://example.com/
+</pre>
+
+<p>Les requêtes émises par ce code généreront des erreurs de réseau puisque les URL demandées ne correspondant pas à la liste de permissions de la directive <code>prefetch-src</code> :</p>
+
+<pre class="notranslate">&lt;link rel="prefetch" src="https://example.org/"&gt;&lt;/link&gt;
+&lt;link rel="prerender" src="https://example.org/"&gt;&lt;/link&gt;</pre>
+
+<h2 id="Spécification">Spécification</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{specName("CSP 3.0", "#prefetch-src", "prefetch-src")}}</td>
+ <td>{{Spec2("CSP 3.0")}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.prefetch-src")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/referrer/index.html b/files/fr/web/http/headers/content-security-policy/referrer/index.html
new file mode 100644
index 0000000000..dc3b894b7c
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/referrer/index.html
@@ -0,0 +1,64 @@
+---
+title: 'CSP: referrer'
+slug: Web/HTTP/Headers/Content-Security-Policy/referrer
+tags:
+ - CSP
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Obsolete
+ - Reference
+ - Security
+ - Sécurité
+ - referrer
+translation_of: Web/HTTP/Headers/Content-Security-Policy/referrer
+---
+<div>{{HTTPSidebar}} {{deprecated_header}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <code><strong>referrer</strong></code> spécifie des informations dans l'en-tête HTTP {{HTTPHeader("Referer")}} (avec un seul r) pour les liens externes d'une page. Cette API est dépréciée et supprimée des navigateurs.</p>
+
+<div class="note">
+<p>Utilisez plutôt l'en-tête HTTP {{HTTPHeader("Referrer-Policy")}}.</p>
+</div>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>Soit cet en-tête CSP :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: referrer &lt;referrer-policy&gt;;</pre>
+
+<p>Où <code>&lt;referrer-policy&gt;</code> peut être une valeur parmi :</p>
+
+<dl>
+ <dt>"no-referrer"</dt>
+ <dd>L'en-tête HTTP {{HTTPHeader("Referer")}} sera omise. Aucune information de référent ne sera envoyée avec les requêtes.</dd>
+ <dt>"none-when-downgrade"</dt>
+ <dd>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).</dd>
+ <dt>"origin"</dt>
+ <dd>Envoie l'origine du document comme référent dans tous les cas.<br>
+ Le document <code>https://example.com/page.html</code> enverra <code>https://example.com/</code> comme référent.</dd>
+ <dt>"origin-when-cross-origin" / "origin-when-crossorigin"</dt>
+ <dd>Envoie une URL complète pour les requêtes vers la même origine, mais seulement l'origin du document dans les autres cas.</dd>
+ <dt>"unsafe-url"</dt>
+ <dd>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.</dd>
+</dl>
+
+<h2 id="Exemples">Exemples</h2>
+
+<pre class="notranslate">Content-Security-Policy: referrer "none";</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<p>Cette fonctionnalité ne fait partie d'aucune spécification.</p>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.referrer")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li>{{HTTPHeader("Referrer-Policy")}} header</li>
+ <li>{{HTTPHeader("Referer")}} header</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/report-to/index.html b/files/fr/web/http/headers/content-security-policy/report-to/index.html
new file mode 100644
index 0000000000..ad134606c0
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/report-to/index.html
@@ -0,0 +1,83 @@
+---
+title: 'CSP: report-to'
+slug: Web/HTTP/Headers/Content-Security-Policy/report-to
+tags:
+ - CSP
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Reporting
+ - Security
+ - Sécurité
+ - report-to
+translation_of: Web/HTTP/Headers/Content-Security-Policy/report-to
+---
+<div>{{HTTPSidebar}}</div>
+
+<p><span class="seoSummary">La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <strong><code>report-to</code></strong> demande à l'agent utilisateur de rapporter les violations de règles CSP à l'adresse fournie dans un groupe de l'en-tête HTTP <code>Report-To</code>.</span></p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: ...; report-to groupname
+</pre>
+
+<p>Cette directive n'a aucun effet en elle-même, mais prend tout son sens en étant combinée à d'autres directives.</p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Version de CSP</th>
+ <td>1</td>
+ </tr>
+ <tr>
+ <th scope="row">Type de directive</th>
+ <td>{{Glossary("Reporting directive")}}</td>
+ </tr>
+ <tr>
+ <th colspan="2" scope="row">This directive is not supported in the {{HTMLElement("meta")}} element.</th>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="notranslate">Content-Security-Policy: report-to &lt;json-field-value&gt;;</pre>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>Voir {{HTTPHeader("Content-Security-Policy-Report-Only")}} pour plus d'informations et d'exemples.</p>
+
+<pre class="notranslate"><a href="http://wicg.github.io/reporting/#report-to" id="ref-for-report-to①">Report-To</a>: { "<a href="http://wicg.github.io/reporting/#group" id="ref-for-group①">group</a>": "csp-endpoint",
+ "<a href="http://wicg.github.io/reporting/#max-age" id="ref-for-max-age①">max_age</a>": 10886400,
+ "<a href="http://wicg.github.io/reporting/#endpoints" id="ref-for-endpoints②">endpoints</a>": [
+ { "<a href="http://wicg.github.io/reporting/#url" id="ref-for-url②">url</a>": "https://example.com/csp-reports" }
+ ] },
+ { "<a href="http://wicg.github.io/reporting/#group" id="ref-for-group②">group</a>": "hpkp-endpoint",
+ "<a href="http://wicg.github.io/reporting/#max-age" id="ref-for-max-age②">max_age</a>": 10886400,
+ "<a href="http://wicg.github.io/reporting/#endpoints" id="ref-for-endpoints③">endpoints</a>": [
+ { "<a href="http://wicg.github.io/reporting/#url" id="ref-for-url③">url</a>": "https://example.com/hpkp-reports" }
+ ] }
+<a href="https://w3c.github.io/webappsec-csp/#content-security-policy" id="ref-for-content-security-policy①">Content-Security-Policy</a>: ...; <a href="https://w3c.github.io/webappsec-csp/#directives-reporting" id="ref-for-directives-reporting①">report-to</a> csp-endpoint
+</pre>
+
+<pre class="notranslate"><a href="http://wicg.github.io/reporting/#report-to" id="ref-for-report-to">Report-To</a>: { "<a href="http://wicg.github.io/reporting/#group" id="ref-for-group">group</a>": "endpoint-1",
+ "<a href="http://wicg.github.io/reporting/#max-age" id="ref-for-max-age">max_age</a>": 10886400,
+ "<a href="http://wicg.github.io/reporting/#endpoints" id="ref-for-endpoints①">endpoints</a>": [
+ { "<a href="http://wicg.github.io/reporting/#url" id="ref-for-url">url</a>": "https://example.com/reports" },
+ { "<a href="http://wicg.github.io/reporting/#url" id="ref-for-url①">url</a>": "https://backup.com/reports" }
+ ] }
+
+<a href="https://w3c.github.io/webappsec-csp/#content-security-policy" id="ref-for-content-security-policy">Content-Security-Policy</a>: ...; <a href="https://w3c.github.io/webappsec-csp/#directives-reporting" id="ref-for-directives-reporting">report-to</a> endpoint-1</pre>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">
+<p>The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+</div>
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.report-to")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li>{{HTTPHeader("Content-Security-Policy-Report-Only")}}</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/report-uri/index.html b/files/fr/web/http/headers/content-security-policy/report-uri/index.html
new file mode 100644
index 0000000000..11fcad82f9
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/report-uri/index.html
@@ -0,0 +1,133 @@
+---
+title: 'CSP: report-uri'
+slug: Web/HTTP/Headers/Content-Security-Policy/report-uri
+tags:
+ - CSP
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Reference
+ - Security
+ - Sécurité
+translation_of: Web/HTTP/Headers/Content-Security-Policy/report-uri
+---
+<div>{{HTTPSidebar}}{{deprecated_header}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <code><strong>report-uri</strong></code> demande à l'agent utilisateur de rapporter les violations de règles CSP. Ces rapports de violation sont constituées d'un document JSON envoyé via une requête HTTP POST à l'URI fournie.</p>
+
+<div class="warning">
+<p>Bien que la directive {{CSP("report-to")}} est prévue remplacer la directive <code><strong>report-uri</strong></code> maintenant dépréciée, {{CSP("report-to")}} n'est pas encore supportée par la plupart des navigateurs modernes. Par rétrocompatibilité avec les navigateurs courants et tout en prévoyant une compatibilité future quand les navigateurs supporteront {{CSP("report-to")}}, vous pouvez spécifier les deux directives <code><strong>report-uri</strong></code> et {{CSP("report-to")}}:</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: ...; report-uri https://endpoint.com; report-to groupname</pre>
+
+<p>Dans les navigateurs qui supportent {{CSP("report-to")}}, la directive <code><strong>report-uri</strong></code> sera ignorée.</p>
+</div>
+
+<p>Cette directive n'a aucun effet en elle-même, mais prend tout son sens en étant combinée à d'autres directives.</p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Version de CSP</th>
+ <td>1</td>
+ </tr>
+ <tr>
+ <th scope="row">Type de directive</th>
+ <td>{{Glossary("Reporting directive")}}</td>
+ </tr>
+ <tr>
+ <th colspan="2" scope="row">Cette directive n'est pas supportée dans l'élément {{HTMLElement("meta")}}.</th>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: report-uri &lt;uri&gt;;
+Content-Security-Policy: report-uri &lt;uri&gt; &lt;uri&gt;;</pre>
+
+<dl>
+ <dt>&lt;uri&gt;</dt>
+ <dd>Une URI où envoyer la requête POST contenant le rapport de violation.</dd>
+</dl>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>Voir {{HTTPHeader("Content-Security-Policy-Report-Only")}} pour plus d'informations et d'exemples.</p>
+
+<pre class="notranslate">Content-Security-Policy: default-src https:; report-uri /csp-violation-report-endpoint/</pre>
+
+<p><code>/csp-violation-report-endpoint/</code> pourrait par exemple exécuter un script PHP similaire au suivant qui journaliserait le JSON détaillant la violation et, si elle est la première ajoutée au journal, enverrait un courril à l'administrateur :</p>
+
+<pre class="brush: php notranslate">&lt;?php
+
+// Start configure
+$log_file = dirname(__FILE__) . '/csp-violations.log';
+$log_file_size_limit = 1000000; // bytes - once exceeded no further entries are added
+$email_address = 'admin@example.com';
+$email_subject = 'Content-Security-Policy violation';
+// End configuration
+
+$current_domain = preg_replace('/www\./i', '', $_SERVER['SERVER_NAME']);
+$email_subject = $email_subject . ' on ' . $current_domain;
+
+http_response_code(204); // HTTP 204 No Content
+
+$json_data = file_get_contents('php://input');
+
+// We pretty print the JSON before adding it to the log file
+if ($json_data = json_decode($json_data)) {
+ $json_data = json_encode($json_data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
+
+ if (!file_exists($log_file)) {
+ // Send an email
+ $message = "The following Content-Security-Policy violation occurred on " .
+ $current_domain . ":\n\n" .
+ $json_data .
+ "\n\nFurther CPS violations will be logged to the following log file, but no further email notifications will be sent until this log file is deleted:\n\n" .
+ $log_file;
+ mail($email_address, $email_subject, $message,
+ 'Content-Type: text/plain;charset=utf-8');
+ } else if (filesize($log_file) &gt; $log_file_size_limit) {
+ exit(0);
+ }
+
+ file_put_contents($log_file, $json_data, FILE_APPEND | LOCK_EX);
+}
+
+</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 3.0", "#directive-report-uri", "report-uri")}}</td>
+ <td>{{Spec2('CSP 3.0')}}</td>
+ <td>Inchangé.</td>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 1.1", "#directive-report-uri", "report-uri")}}</td>
+ <td>{{Spec2('CSP 1.1')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.report-uri")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li>{{HTTPHeader("Content-Security-Policy-Report-Only")}}</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/require-sri-for/index.html b/files/fr/web/http/headers/content-security-policy/require-sri-for/index.html
new file mode 100644
index 0000000000..2650a7f3c7
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/require-sri-for/index.html
@@ -0,0 +1,61 @@
+---
+title: 'CSP: require-sri-for'
+slug: Web/HTTP/Headers/Content-Security-Policy/require-sri-for
+tags:
+ - CSP
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Reference
+ - Security
+ - Subresource Integrity
+ - Sécurité
+ - require-sri-for
+translation_of: Web/HTTP/Headers/Content-Security-Policy/require-sri-for
+---
+<div>{{Obsolete_header}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} <code><strong>require-sri-for</strong></code> informe l'agent utilisateur de requérir la vérification <a href="/en-US/docs/Web/Security/Subresource_Integrity">d'intégrité des sous-ressources</a> pour les scripts et styles de la page.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: require-sri-for script;
+Content-Security-Policy: require-sri-for style;
+Content-Security-Policy: require-sri-for script style;
+</pre>
+
+<dl>
+ <dt><code>script</code></dt>
+ <dd>Requiert {{Glossary("SRI")}} pour les scripts.</dd>
+ <dt><code>style</code></dt>
+ <dd>Requiert {{Glossary("SRI")}} pour les feuilles de styles.</dd>
+ <dt><code>script style</code></dt>
+ <dd>Requiert {{Glossary("SRI")}} pour les deux, scripts et feuilles de styles.</dd>
+</dl>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>Soit cet en-tête CSP :</p>
+
+<pre class="notranslate">Content-Security-Policy: require-sri-for script style</pre>
+
+<p>Cet élément {{HTMLElement("script")}} sera chargé et exécuté puisqu'il utilise un attribut <code>integrity</code> valide.</p>
+
+<pre class="brush: html; example-good notranslate">&lt;script src="https://code.jquery.com/jquery-3.1.1.slim.js"
+ integrity="sha256-5i/mQ300M779N2OVDrl16lbohwXNUdzL/R2aVUXyXWA="
+ crossorigin="anonymous"&gt;&lt;/script&gt;</pre>
+
+<p>Toutefois, ce script sera bloqué car il n'utilise pas cet attribut :</p>
+
+<pre class="brush: html; example-bad notranslate">&lt;script src="https://code.jquery.com/jquery-3.1.1.slim.js"&gt;&lt;/script&gt;</pre>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.require-sri-for")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li><a href="/en-US/docs/Web/Security/Subresource_Integrity">Subresource Integrity</a></li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/require-trusted-types-for/index.html b/files/fr/web/http/headers/content-security-policy/require-trusted-types-for/index.html
new file mode 100644
index 0000000000..f4102e3593
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/require-trusted-types-for/index.html
@@ -0,0 +1,88 @@
+---
+title: 'CSP: require-trusted-types-for'
+slug: Web/HTTP/Headers/Content-Security-Policy/require-trusted-types-for
+tags:
+ - CSP
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Security
+ - Sécurité
+ - TrustedTypes
+ - require-trusted-types-for
+ - source
+translation_of: Web/HTTP/Headers/Content-Security-Policy/require-trusted-types-for
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <code><strong>require-trusted-types-for</strong></code> {{experimental_inline}} directive informe l'agent utilisateur de contrôler les données passées au puits de fonctions XSS du DOM, tel que le mutateur <a href="/en-US/docs/Web/API/Element/innerHTML">Element.innerHTML</a>.</p>
+
+<p>Lors de leur usage, ces fonctions n'acceptent que des valeurs typées et non falsifiables créées par des règles de Trusted Type et rejettent les chaines de caractère.<span> Conjointement à la directive <strong><code><a href="/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/trusted-types">trusted-types</a></code></strong>, qui empêche la création de règles de Trusted Type, cette directive permet aux auteurs de définir des règles empêchant d'écrire des données dans le DOM et donc de réduire </span> <span>la fenêtre de tir pour les attaques XSS sur le DOM à quelques pans isolés de la base de code d'une application, facilitant donc son contrôle et sa relecture</span><span>.</span></p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="notranslate">Content-Security-Policy: require-trusted-types-for 'script';
+</pre>
+
+<dl>
+ <dt><code>'script'</code></dt>
+ <dd>Interdit l'usage de chaine de caractères avec les fonctions du puits d'injection XSS du DOM, et requiert que les types correspondant soient créés par des règles de Trusted Type.</dd>
+</dl>
+
+<h2 id="Exemples">Exemples</h2>
+
+<pre class="brush: js notranslate">// Content-Security-Policy: require-trusted-types-for 'script'; trusted-types foo;
+
+const attackerInput = '&lt;svg onload="alert(/cross-site-scripting/)" /&gt;';
+const el = document.createElement('div');
+
+if (typeof trustedTypes !== 'undefined') {
+  // Create a policy that can create TrustedHTML values
+ // after sanitizing the input strings with DOMPurify library.
+  const sanitizer = trustedTypes.createPolicy('foo', {
+  createHTML: (input) =&gt; DOMPurify.sanitize(input)
+  });
+
+  el.innerHTML = sanitizer.createHTML(attackerInput); // Puts the sanitized value into the DOM.
+  el.innerHTML = attackerInput; // Rejects a string value; throws a TypeError.
+}
+</pre>
+
+<h2 id="Prothèse_démulaiton">Prothèse d'émulaiton</h2>
+
+<p>Une <a href="https://github.com/w3c/webappsec-trusted-types#polyfill">prothèse d'émulation pour les Trusted Types</a> est disponible sur Github.</p>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><a href="https://w3c.github.io/webappsec-trusted-types/dist/spec/">Trusted Types</a></td>
+ <td>Draft</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.trusted-types")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li><a href="/en-US/docs/Glossary/Cross-site_scripting">Cross-Site Scripting (XSS)</a></li>
+ <li><a href="https://w3c.github.io/webappsec-trusted-types/dist/spec/#injection-sinks">DOM XSS injection sinks covered by Trusted Types</a></li>
+ <li><a href="https://web.dev/trusted-types">Prevent DOM-based cross-site scripting vulnerabilities with Trusted Types</a></li>
+ <li>Trusted Types with <a href="https://github.com/cure53/DOMPurify#what-about-dompurify-and-trusted-types">DOMPurify</a> XSS sanitizer</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/sandbox/index.html b/files/fr/web/http/headers/content-security-policy/sandbox/index.html
new file mode 100644
index 0000000000..4786f3c319
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/sandbox/index.html
@@ -0,0 +1,111 @@
+---
+title: 'CSP: sandbox'
+slug: Web/HTTP/Headers/Content-Security-Policy/sandbox
+tags:
+ - CSP
+ - Content-Securityè-Policy
+ - Directive
+ - HTTP
+ - Sandbox
+ - Security
+ - Sécurité
+translation_of: Web/HTTP/Headers/Content-Security-Policy/sandbox
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <code><strong>sandbox</strong></code> active un bac à sable (<em>sandbox</em>) pour les ressources demandées similaire à l'attribut {{htmlattrxref("sandbox", "iframe")}} des éléments {{HTMLElement("iframe")}}. Elle applique des restrictions aux actions d'une page, dont le fait d'empêcher les fenêtres intruses (<em>popups</em>) et l'exécution de greffons et de scripts et de créer une contrainte de même origine.</p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Version de CSP</th>
+ <td>1.1 / 2</td>
+ </tr>
+ <tr>
+ <th scope="row">Type de directive</th>
+ <td>{{Glossary("Document directive")}}</td>
+ </tr>
+ <tr>
+ <th colspan="2" scope="row">Cette directive n'est pas supportée dans l'élément {{HTMLElement("meta")}} ou par l'en-tête {{HTTPHeader("Content-Security-policy-Report-Only")}}.</th>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: sandbox;
+Content-Security-Policy: sandbox &lt;valeur&gt;;
+</pre>
+
+<p>Où <code>&lt;valeur&gt;</code> peut optionnellement être une valeur parmi :</p>
+
+<dl>
+ <dt><code>allow-downloads-without-user-activation</code> {{experimental_inline}}</dt>
+ <dd>Autorise les téléchargements sans action de l'utilisateur.</dd>
+</dl>
+
+<dl>
+ <dt><code>allow-forms</code></dt>
+ <dd>Autorise la soumission de de formulaires. Si ce mot-clé n'est pas spécifié, cette opération est interdite.</dd>
+ <dt><code>allow-modals</code></dt>
+ <dd>Autorise la page à ouvrir des fenêtres modales.</dd>
+ <dt><code>allow-orientation-lock</code></dt>
+ <dd>Autorise la page à désactiver la possibilité de verrouiller l'orientation de l'écran.</dd>
+ <dt><code>allow-pointer-lock</code></dt>
+ <dd>Autorise la page à utiliser l'<a href="/en-US/docs/WebAPI/Pointer_Lock">API Pointer Lock</a>.</dd>
+ <dt><code>allow-popups</code></dt>
+ <dd>Autorise les fenêtres intruses (comme avec <code>window.open</code>, <code>target="_blank"</code>, <code>showModalDialog</code>). Si ce mot-clé n'est pas utilisée, cette fonctionnalité échouera en silence.</dd>
+ <dt><code>allow-popups-to-escape-sandbox</code></dt>
+ <dd>Autorise un document cloisonné dans une bac à sable à ouvrir de nouvelles fenêtres sans les contraindre à appliquer les mêmes règles. Cela permettra, par exemple, à une publicité externe d'être sainement cloisonnée sans imposer les mêmes restrictions sur une page d'accueil.</dd>
+ <dt><code>allow-presentation</code></dt>
+ <dd>Autorise les pages embarquantes à avoir contrôle sur la possibilité pour l'iframe de démarrer une session de présentation ou non.</dd>
+ <dt><code>allow-same-origin</code></dt>
+ <dd>Autorise le contenu à être traité comme étant de son origine normale. Si ce mot-clé n'est pas utilisé, les contenu embarqués seront traités comme étant d'une origine unique.</dd>
+ <dt><code>allow-scripts</code></dt>
+ <dd>Autorise la page à exécuter des scripts (mais non créer des fenêtres intruses). Si ce mot-clé n'est pas utilisée, cette opération n'est pas permise.</dd>
+ <dt><code>allow-storage-access-by-user-activation</code> {{experimental_inline}}</dt>
+ <dd>Laisse les requêtes de ressources accéder à l'espace de stockage du parent avec l'<a href="/en-US/docs/Web/API/Storage_Access_API">API Storage Access</a>.</dd>
+ <dt><code>allow-top-navigation</code></dt>
+ <dd>Autorise la page à charger du contenu au niveau supérieur de contexte navigationnel. Si ce mot-clé n'est pas utilisé, cette opération n'est pas permise.</dd>
+ <dt><code>allow-top-navigation-by-user-activation</code></dt>
+ <dd>Laisse la ressource naviguer jusqu'au niveau supérieur de contexte navigationnel, mais seulement si initié par une aciton de l'utilisateur.</dd>
+</dl>
+
+<h2 id="Exemples">Exemples</h2>
+
+<pre class="brush: bash notranslate">Content-Security-Policy: sandbox allow-scripts;</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 3.0", "#directive-sandbox", "sandbox")}}</td>
+ <td>{{Spec2('CSP 3.0')}}</td>
+ <td>Inchangé.</td>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 1.1", "#directive-sandbox", "sandbox")}}</td>
+ <td>{{Spec2('CSP 1.1')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.sandbox")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li>{{htmlattrxref("sandbox", "iframe")}} attribute on {{HTMLElement("iframe")}} elements</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/script-src-attr/index.html b/files/fr/web/http/headers/content-security-policy/script-src-attr/index.html
new file mode 100644
index 0000000000..b83c70cc28
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/script-src-attr/index.html
@@ -0,0 +1,100 @@
+---
+title: 'CSP: script-src-attr'
+slug: Web/HTTP/Headers/Content-Security-Policy/script-src-attr
+tags:
+ - CSP
+ - Content
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Reference
+ - Script
+ - Security
+ - Sécurité
+ - script-src
+ - script-src-attr
+ - source
+translation_of: Web/HTTP/Headers/Content-Security-Policy/script-src-attr
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <code><strong>script-src-attr</strong></code> spécifie les sources valides pour du code JavaScript embarqué dans des éléments {{HTMLElement("script")}} ou dans des gestionnaires d'évènements par attribut comme <code>onclick</code>, mais non les URL chargées par des éléments {{HTMLElement("script")}}.</p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Version de CSP</th>
+ <td>3</td>
+ </tr>
+ <tr>
+ <th scope="row">Type de directive</th>
+ <td>{{Glossary("Fetch directive")}}</td>
+ </tr>
+ <tr>
+ <th scope="row">{{CSP("default-src")}} par défaut</th>
+ <td>Oui, si cette directive est absente, l'agent utilisateur consultera la directive {{CSP("script-src")}}, qui a pour valeur par défaut celle de la directive <code>default-src</code></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>Une ou plusieurs sources peuvent être autorisées pour cette directive :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: script-src-attr &lt;source&gt;;
+Content-Security-Policy: script-src-attr &lt;source&gt; &lt;source&gt;;
+</pre>
+
+<p><code>script-src-attr</code>  peut être utilisée conjointement à  {{CSP("script-src")}} :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: script-src &lt;source&gt;;
+Content-Security-Policy: script-src-attr &lt;source&gt;;
+</pre>
+
+<h3 id="Sources">Sources</h3>
+
+<p>{{page("fr/Web/HTTP/Headers/Content-Security-Policy/default-src", "Sources")}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Valeur_par_défaut_avec_script-src">Valeur par défaut avec script-src</h3>
+
+<p>Si la directive <code>script-src-attr</code> est absente, l'agent utilisateur se rabat sur la valeur de la directive {{CSP("script-src")}}, qui elle-même a pour valeur par défaut celle de la directive {{CSP("default-src")}}.</p>
+
+<div class="hidden">
+<p>TODO: Add comprehensive examples.</p>
+</div>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{specName("CSP 3.0", "#directive-script-src-attr", "script-src-attr")}}</td>
+ <td>{{Spec2("CSP 3.0")}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.script-src-attr")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li>{{HTMLElement("script")}}</li>
+ <li>{{CSP("script-src")}}</li>
+ <li>{{CSP("script-src-elem")}}</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/script-src-elem/index.html b/files/fr/web/http/headers/content-security-policy/script-src-elem/index.html
new file mode 100644
index 0000000000..5bebc3b3a7
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/script-src-elem/index.html
@@ -0,0 +1,100 @@
+---
+title: 'CSP: script-src-elem'
+slug: Web/HTTP/Headers/Content-Security-Policy/script-src-elem
+tags:
+ - CSP
+ - Content
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Reference
+ - Script
+ - Security
+ - Sécurité
+ - script-src
+ - script-src-elem
+ - source
+translation_of: Web/HTTP/Headers/Content-Security-Policy/script-src-elem
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <strong><code>script-src-elem</code></strong> spécifie les sources valides pour des éléments {{HTMLElement("script")}} JavaScript, mais non pour des scripts embarqués ou des gestionnaire d'évènements par attribut comme <code>onclick</code>.</p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Version de CSP</th>
+ <td>3</td>
+ </tr>
+ <tr>
+ <th scope="row">Type de directive</th>
+ <td>{{Glossary("Fetch directive")}}</td>
+ </tr>
+ <tr>
+ <th scope="row">{{CSP("default-src")}} par défaut</th>
+ <td>Oui, si cette directive est absente, l'agent utilisateur consultera la directive {{CSP("script-src")}}, qui a pour valeur par défaut celle de la directive <code>default-src</code></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>Une ou plusieurs sources peuvent être autorisées pour cette directive :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: script-src-elem &lt;source&gt;;
+Content-Security-Policy: script-src-elem &lt;source&gt; &lt;source&gt;;
+</pre>
+
+<p><code>script-src-elem</code> peut être utilisée conjointement à {{CSP("script-src")}} :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: script-src &lt;source&gt;;
+Content-Security-Policy: script-src-elem &lt;source&gt;;
+</pre>
+
+<h3 id="Sources">Sources</h3>
+
+<p>{{page("fr/Web/HTTP/Headers/Content-Security-Policy/default-src", "Sources")}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Valeur_par_défaut_avec_script-src">Valeur par défaut avec script-src</h3>
+
+<p>Si la directive <code>script-src-elem</code> est absente, l'agent utilisateur se rabat sur la valeur de la directive {{CSP("script-src")}}, qui elle-même a pour valeur par défaut celle de la directive {{CSP("default-src")}}.</p>
+
+<div class="hidden">
+<p>TODO: Add comprehensive examples.</p>
+</div>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{specName("CSP 3.0", "#directive-script-src-elem", "script-src-elem")}}</td>
+ <td>{{Spec2("CSP 3.0")}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.script-src-elem")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li>{{HTMLElement("script")}}</li>
+ <li>{{CSP("script-src")}}</li>
+ <li>{{CSP("script-src-attr")}}</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/script-src/index.html b/files/fr/web/http/headers/content-security-policy/script-src/index.html
new file mode 100644
index 0000000000..d050eefcaa
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/script-src/index.html
@@ -0,0 +1,176 @@
+---
+title: 'CSP: script-src'
+slug: Web/HTTP/Headers/Content-Security-Policy/script-src
+tags:
+ - CSP
+ - Content
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Reference
+ - Script
+ - Security
+ - Sécurité
+ - script-src
+ - source
+translation_of: Web/HTTP/Headers/Content-Security-Policy/script-src
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <code><strong>script-src</strong></code> spécifie les sources valides pour du code JavaScript. Cela inclut non seulement les URL chargées directement par les éléments {{HTMLElement("script")}}, mais aussi les scripts embarqués, les attributs de gestion d'évènements (<code>onclick</code>) et <a href="/en-US/docs/Web/XSLT">les feuilles de style XSLT</a> pouvant déclencher l'exécution de scripts.</p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Version de CSP</th>
+ <td>1</td>
+ </tr>
+ <tr>
+ <th scope="row">Type de directive</th>
+ <td>{{Glossary("Fetch directive")}}</td>
+ </tr>
+ <tr>
+ <th scope="row">{{CSP("default-src")}} par défaut</th>
+ <td>Oui, si cette directive est absente, l'agent utilisateur consultera la directive <code>default-src</code></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>Une ou plusieurs sources peuvent être autorisées pour cette directive :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: script-src &lt;source&gt;;
+Content-Security-Policy: script-src &lt;source&gt; &lt;source&gt;;
+</pre>
+
+<h3 id="Sources">Sources</h3>
+
+<p>{{page("fr/Web/HTTP/Headers/Content-Security-Policy/default-src", "Sources")}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Cas_de_violation">Cas de violation</h3>
+
+<p>Soit cet en-tête CSP :</p>
+
+<pre class="brush: bash notranslate">Content-Security-Policy: script-src https://example.com/</pre>
+
+<p>Ces scripts seront bloqués et ne seront pas chargés ou exécutés :</p>
+
+<pre class="brush: html notranslate">&lt;script src="https://not-example.com/js/library.js"&gt;&lt;/script&gt;</pre>
+
+<p>Notez que les gestionnaires d'évènements par attributs sont aussi bloqués :</p>
+
+<pre class="brush: html notranslate">&lt;button id="btn" onclick="doSomething()"&gt;</pre>
+
+<p>Vous devez les remplacer par des appels à la méthode {{domxref("EventTarget.addEventListener", "addEventListener")}} :</p>
+
+<pre class="brush: js notranslate">document.getElementById("btn").addEventListener('click', doSomething);</pre>
+
+<h3 id="Scripts_embarqués_non_fiables">Scripts embarqués non fiables</h3>
+
+<div class="note">
+<p><strong>Note :</strong> Bloquer les styles et scripts embarqués est l'une des stratégies de sécurité majeures que CSP propose. Toutefois, si vous en avez absolument besoin, il existe des mécanismes qui vous permettront de les autoriser.</p>
+</div>
+
+<p>Vous pouvez autoriser les scripts embarqués et les gestionnaires d'évènements par attributs en spécifiant la valeur <code>'unsafe-inline'</code>, des nonces ou des hashs correspondant au script.</p>
+
+<pre class="brush: bash notranslate">Content-Security-Policy: script-src 'unsafe-inline';
+</pre>
+
+<p>Cette directive CSP autorisera tous les scripts {{HTMLElement("script")}} embarqués :</p>
+
+<pre class="brush: html notranslate">&lt;script&gt;
+ var inline = 1;
+&lt;/script&gt;</pre>
+
+<p>Vous pouvez aussi utiliser un nonce pour autoriser spécifiquement certains éléments {{HTMLElement("script")}} embarqués :</p>
+
+<pre class="brush: bash notranslate">Content-Security-Policy: script-src 'nonce-2726c7f26c'</pre>
+
+<p>Vous devrez alors définir ce nonce sur l'élément {{HTMLElement("script")}} :</p>
+
+<pre class="brush: html notranslate">&lt;script nonce="2726c7f26c"&gt;
+ var inline = 1;
+&lt;/script&gt;</pre>
+
+<p>Autrement, vous pouvez créer des hashs à partir de vos scripts. CSP accepte les algorithmes sha256, sha384 et sha512.</p>
+
+<pre class="brush: bash notranslate">Content-Security-Policy: script-src 'sha256-B2yPHKaXnvFWtRChIbabYmUBFZdVfKKXHbWtWidDVF8='</pre>
+
+<p>Lors de la génération du hash, vous ne devez pas inclure les balises et tenir compte de la casse et des caractères blancs (espaces, retours à la ligne, etc.).</p>
+
+<pre class="brush: html notranslate">&lt;script&gt;var inline = 1;&lt;/script&gt;</pre>
+
+<h3 id="Expressions_dévaluation_non_fiables">Expressions d'évaluation non fiables</h3>
+
+<p>La valeur <code>'unsafe-eval'</code> contrôle différents méthodes qui créent du code JavaScript à partir de chaines de caractères. Si <code>'unsafe-eval'</code> n'est pas spécifiée avec la directive <code>script-src</code>, ces méthodes seront bloquées et n'auront aucun effet :</p>
+
+<ul>
+ <li>{{jsxref("eval", "eval()")}}</li>
+ <li>{{jsxref("Function", "Function()")}}</li>
+ <li>En passant une chaine à des méthodes tel que : <code>window.setTimeout("alert(\"Hello World!\");", 500);</code>
+ <ul>
+ <li>{{domxref("window.setTimeout")}}</li>
+ <li>{{domxref("window.setInterval")}}</li>
+ <li>{{domxref("window.setImmediate")}}</li>
+ </ul>
+ </li>
+ <li>{{domxref("window.execScript")}} {{non-standard_inline}} (IE10 et versions précédentes)</li>
+</ul>
+
+<h3 id="strict-dynamic">strict-dynamic</h3>
+
+<p>La valeur <code>'strict-dynamic'</code> spécifie que la confiance explicitement donnée à un script de la page, par le biais d'un nonce ou d'un hash, doit être propagée à tous les scripts chargés par celui-ci. En conséquence, toute liste de permissions ou expressions de sources telles que <code>'self'</code> ou <code>'unsafe-inline'</code> sont ignorées. Par exemple, une règle telle que <code>script-src 'strict-dynamic' 'nonce-R4nd0m' https://whitelisted.com/</code> autoriserait le chargement de scripts comme <code>&lt;script nonce="R4nd0m" src="https://example.com/loader.js"&gt;</code> et s'appliquerait ensuite à tous les scripts chargés par <code>loader.js</code>, mais interdirait les scripts chargés depuis <code>https://whitelisted.com/</code> à moins qu'ils soient accompagnés d'un nonce ou chargés depuis un script dont la source est de confiance.</p>
+
+<pre class="brush: bash notranslate">script-src 'strict-dynamic' 'nonce-<em>someNonce</em>'</pre>
+
+<p><em>Ou</em></p>
+
+<pre class="brush: bash notranslate">script-src 'strict-dynamic' 'sha256-<em>base64EncodedHash</em>'</pre>
+
+<p>Il est possible de déployer <code>strict-dynamic</code> de manière rétrocompatible, sans chercher à connaitre l'agent utilisateur. Cette directive :</p>
+
+<pre class="brush: bash notranslate">script-src 'unsafe-inline' https: 'nonce-abcdefg' 'strict-dynamic'</pre>
+
+<p>fonctionnera comme <code>'unsafe-inline' https:</code> pour les navigateurs supportant CSP1, <code>https: 'nonce-abcdefg'</code> pour ceux supportant CSP2 et comme <code>'nonce-abcdefg' 'strict-dynamic'</code> pour ceux supportant CSP3.</p>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{specName("CSP 3.0", "#directive-script-src", "script-src")}}</td>
+ <td>{{Spec2('CSP 3.0')}}</td>
+ <td>Inchangé.</td>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 1.1", "#directive-script-src", "script-src")}}</td>
+ <td>{{Spec2('CSP 1.1')}}</td>
+ <td>Initial definition.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.script-src")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li>{{HTMLElement("script")}}</li>
+ <li>{{CSP("script-src-elem")}}</li>
+ <li>{{CSP("script-src-attr")}}</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/style-src-attr/index.html b/files/fr/web/http/headers/content-security-policy/style-src-attr/index.html
new file mode 100644
index 0000000000..9944696998
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/style-src-attr/index.html
@@ -0,0 +1,105 @@
+---
+title: 'CSP: style-src-attr'
+slug: Web/HTTP/Headers/Content-Security-Policy/style-src-attr
+tags:
+ - CSP
+ - Content
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Reference
+ - Security
+ - Style
+ - Sécurité
+ - source
+ - style-src
+ - style-src-attr
+translation_of: Web/HTTP/Headers/Content-Security-Policy/style-src-attr
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <code><strong>style</strong></code><strong><code>-src-attr</code></strong> spécifie les sources valides pour des feuilles de styles appliquées à des éléments individuels du DOM par l'attribut <code>style</code>.</p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Version de CSP</th>
+ <td>3</td>
+ </tr>
+ <tr>
+ <th scope="row">Type de directive</th>
+ <td>{{Glossary("Fetch directive")}}</td>
+ </tr>
+ <tr>
+ <th scope="row">{{CSP("default-src")}} par défaut</th>
+ <td>
+ <p>Oui, si cette directive est absente, l'agent utilisateur consultera la directive {{CSP("style-src")}}, qui a pour valeur par défaut celle de la directive <code>default-src</code></p>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>Une ou plusieurs sources peuvent être autorisées pour cette directive :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: style-src-attr &lt;source&gt;;
+Content-Security-Policy: style-src-attr &lt;source&gt; &lt;source&gt;;
+</pre>
+
+<p><code>style-src-attr</code> peut être utilisée conjointement à {{CSP("style-src")}} :</p>
+
+<pre class="notranslate">Content-Security-Policy: <code>style</code>-src &lt;source&gt;;
+Content-Security-Policy: <code>style</code>-src-attr &lt;source&gt;;</pre>
+
+<h3 id="Sources">Sources</h3>
+
+<p>{{page("fr/Web/HTTP/Headers/Content-Security-Policy/connect-src", "Sources")}}</p>
+
+<dl>
+ <dt>'report-sample'</dt>
+ <dd>Requiert qu'un échantillon du code violant la directive soit inclus dans le rapport envoyé.</dd>
+</dl>
+
+<h2 id="Exemples">Exemples</h2>
+
+<div class="hidden">
+<p>TODO: add examples</p>
+</div>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 3.0", "#directive-style-src-attr", "style-src-attr")}}</td>
+ <td>{{Spec2("CSP 3.0")}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.style-src-attr")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li>{{CSP("style-src")}}</li>
+ <li>{{CSP("style-src-elem")}}</li>
+ <li>{{HTTPHeader("Link")}} header</li>
+ <li>{{HTMLElement("style")}}, {{HTMLElement("link")}}</li>
+ <li>{{cssxref("@import")}}</li>
+ <li>{{domxref("CSSStyleSheet.insertRule()")}}</li>
+ <li>{{domxref("CSSGroupingRule.insertRule()")}}</li>
+ <li>{{domxref("CSSStyleDeclaration.cssText")}}</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/style-src-elem/index.html b/files/fr/web/http/headers/content-security-policy/style-src-elem/index.html
new file mode 100644
index 0000000000..26a0a2c9d7
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/style-src-elem/index.html
@@ -0,0 +1,105 @@
+---
+title: 'CSP: style-src-elem'
+slug: Web/HTTP/Headers/Content-Security-Policy/style-src-elem
+tags:
+ - CSP
+ - Content
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Reference
+ - Security
+ - Style
+ - Sécurité
+ - source
+ - style-src
+ - style-src-elem
+translation_of: Web/HTTP/Headers/Content-Security-Policy/style-src-elem
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <code><strong>style</strong></code><strong><code>-src-elem</code></strong> spécifie les sources valides pour les feuilles de styles embarquées avec l'élément {{HTMLElement("style")}} et pour l'élément {{HTMLElement("link")}} avec l'attribut <code>rel="stylesheet"</code>.</p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Version de CSP</th>
+ <td>3</td>
+ </tr>
+ <tr>
+ <th scope="row">Type de directive</th>
+ <td>{{Glossary("Fetch directive")}}</td>
+ </tr>
+ <tr>
+ <th scope="row">{{CSP("default-src")}} par défaut</th>
+ <td>
+ <p>Oui, si cette directive est absente, l'agent utilisateur consultera la directive {{CSP("style-src")}}, qui a pour valeur par défaut celle de la directive <code>default-src</code></p>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>Une ou plusieurs sources peuvent être autorisées pour cette directive :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: style-src-elem &lt;source&gt;;
+Content-Security-Policy: style-src-elem &lt;source&gt; &lt;source&gt;;
+</pre>
+
+<p><code>style-src-elem</code> peut être utilisée conjointement à {{CSP("style-src")}} :</p>
+
+<pre class="notranslate">Content-Security-Policy: <code>style</code>-src &lt;source&gt;;
+Content-Security-Policy: <code>style</code>-src-elem &lt;source&gt;;</pre>
+
+<h3 id="Sources">Sources</h3>
+
+<p>{{page("fr/Web/HTTP/Headers/Content-Security-Policy/connect-src", "Sources")}}</p>
+
+<dl>
+ <dt>'report-sample'</dt>
+ <dd>Requiert qu'un échantillon du code violant la directive soit inclus dans le rapport envoyé.</dd>
+</dl>
+
+<h2 id="Exemples">Exemples</h2>
+
+<div class="hidden">
+<p>TODO: add examples</p>
+</div>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 3.0", "#directive-style-src-elem", "style-src-elem")}}</td>
+ <td>{{Spec2("CSP 3.0")}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.style-src-elem")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li>{{CSP("style-src")}}</li>
+ <li>{{CSP("style-src-attr")}}</li>
+ <li>{{HTTPHeader("Link")}} header</li>
+ <li>{{HTMLElement("style")}}, {{HTMLElement("link")}}</li>
+ <li>{{cssxref("@import")}}</li>
+ <li>{{domxref("CSSStyleSheet.insertRule()")}}</li>
+ <li>{{domxref("CSSGroupingRule.insertRule()")}}</li>
+ <li>{{domxref("CSSStyleDeclaration.cssText")}}</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/style-src/index.html b/files/fr/web/http/headers/content-security-policy/style-src/index.html
new file mode 100644
index 0000000000..d373fa8477
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/style-src/index.html
@@ -0,0 +1,181 @@
+---
+title: 'CSP: style-src'
+slug: Web/HTTP/Headers/Content-Security-Policy/style-src
+tags:
+ - CSP
+ - Content
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Reference
+ - Security
+ - Style
+ - Sécurité
+ - source
+ - style-src
+translation_of: Web/HTTP/Headers/Content-Security-Policy/style-src
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <strong><code>style-src</code></strong> spécifie les sources valides pour des feuilles de style.</p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Version de CSP</th>
+ <td>1</td>
+ </tr>
+ <tr>
+ <th scope="row">Type de directive</th>
+ <td>{{Glossary("Fetch directive")}}</td>
+ </tr>
+ <tr>
+ <th scope="row">{{CSP("default-src")}} fallback</th>
+ <td>Oui, si cette directive est absente, l'agent utilisateur consultera la directive <code>default-src</code></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>Une ou plusieurs sources peuvent être autorisées pour cette directive :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: style-src &lt;source&gt;;
+Content-Security-Policy: style-src &lt;source&gt; &lt;source&gt;;
+</pre>
+
+<h3 id="Sources">Sources</h3>
+
+<p>{{page("fr/Web/HTTP/Headers/Content-Security-Policy/connect-src", "Sources")}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Cas_de_violation">Cas de violation</h3>
+
+<p>Soit cet en-tête CSP :</p>
+
+<pre class="brush: bash notranslate">Content-Security-Policy: style-src https://example.com/</pre>
+
+<p>Ces feuilles de style seront bloquées et ne se chargeront pas :</p>
+
+<pre class="brush: html notranslate">&lt;link href="https://not-example.com/styles/main.css" rel="stylesheet" type="text/css" /&gt;
+
+&lt;style&gt;
+#inline-style { background: red; }
+&lt;/style&gt;
+
+&lt;style&gt;
+ @import url("https://not-example.com/styles/print.css") print;
+&lt;/style&gt;</pre>
+
+<p>De même que les styles chargés avec l'en-tête {{HTTPHeader("Link")}} :</p>
+
+<pre class="brush: bash notranslate">Link: &lt;https://not-example.com/styles/stylesheet.css&gt;;rel=stylesheet
+</pre>
+
+<p>Les attributes de style seront aussi bloqués :</p>
+
+<pre class="brush: html notranslate">&lt;div style="display:none"&gt;Foo&lt;/div&gt;</pre>
+
+<p>De même que les styles ajoutés par JavaScript en définissant l'attribut <code>style</code> directement, ou en définissant la propriété {{domxref("CSSStyleDeclaration.cssText", "cssText")}} :</p>
+
+<pre class="brush: js notranslate">document.querySelector('div').setAttribute('style', 'display:none;');
+document.querySelector('div').style.cssText = 'display:none;';</pre>
+
+<p>Toutefois, les propriétés de styles qui sont définies directement dans l'attribut {{domxref("HTMLElement.style", "style")}} ne seront pas bloquées, permettant aux utilisateurs de manipuler sainement les styles avec JavaScript :</p>
+
+<pre class="brush: js notranslate">document.querySelector('div').style.display = 'none';</pre>
+
+<p>Ce genre de manipulations peut être bloqué en désactivant JavaScript au moyen de la directive CSP {{CSP("script-src")}}.</p>
+
+<h3 id="Styles_embarqués_non_fiables">Styles embarqués non fiables</h3>
+
+<div class="note">
+<p><strong>Note :</strong> Bloquer les styles et scripts embarqués est l'une des stratégies de sécurité majeures que CSP propose. Toutefois, si vous en avez absolument besoin, il existe des mécanismes qui vous permettront de les autoriser.</p>
+</div>
+
+<p>Vous pouvez autoriser les styles embarqués en spécifiant la valeur <code>'unsafe-inline'</code>, des nonces ou des hashs correspondant à la feuille de style.</p>
+
+<pre class="brush: bash notranslate">Content-Security-Policy: style-src 'unsafe-inline';
+</pre>
+
+<p>Cette directive CSP autorisera toutes les feuilles de styles embarquées telles que l'élément {{HTMLElement("style")}} et l'attribut <code>style</code> sur tous les éléments :</p>
+
+<pre class="brush: html notranslate">&lt;style&gt;
+#inline-style { background: red; }
+&lt;/style&gt;
+
+&lt;div style="display:none"&gt;Foo&lt;/div&gt;
+</pre>
+
+<p>Vous pouvez aussi utiliser un nonce pour autoriser spécifiquement certains éléments {{HTMLElement("style")}} :</p>
+
+<pre class="brush: bash notranslate">Content-Security-Policy: style-src 'nonce-2726c7f26c'</pre>
+
+<p>Vous devrez alors définir ce nonce sur l'élément {{HTMLElement("style")}} :</p>
+
+<pre class="brush: html notranslate">&lt;style nonce="2726c7f26c"&gt;
+#inline-style { background: red; }
+&lt;/style&gt;</pre>
+
+<p>Autrement, vous pourrez créer des hashs à partir de vos feuilles de styles. CSP accepte les algorithmes sha256, sha384 et sha512.</p>
+
+<pre class="brush: bash notranslate">Content-Security-Policy: style-src 'sha256-a330698cbe9dc4ef1fb12e2ee9fc06d5d14300262fa4dc5878103ab7347e158f'</pre>
+
+<p>Lors de la génération du hash, vous ne devez pas inclure les balises et tenir compte de la casse et des caractères blancs (espaces, retours à la ligne, etc.).</p>
+
+<pre class="brush: html notranslate">&lt;style&gt;#inline-style { background: red; }&lt;/style&gt;</pre>
+
+<h3 id="Style_non_fiables">Style non fiables</h3>
+
+<p>La valeur <code>'unsafe-eval'</code> contrôle différente méthodes de mise en page qui créent des déclarations de style à partir de chaines de caractères. Si <code>'unsafe-eval'</code> n'est pas spécifiée avec la directive <code>style-src</code>, ces méthodes seront bloquées et n'auront aucun effet :</p>
+
+<ul>
+ <li>{{domxref("CSSStyleSheet.insertRule()")}}</li>
+ <li>{{domxref("CSSGroupingRule.insertRule()")}}</li>
+ <li>{{domxref("CSSStyleDeclaration.cssText")}}</li>
+</ul>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{specName("CSP 3.0", "#directive-style-src", "style-src")}}</td>
+ <td>{{Spec2('CSP 3.0')}}</td>
+ <td>Inchangé.</td>
+ </tr>
+ <tr>
+ <td>{{specName("CSP 1.1", "#directive-style-src", "style-src")}}</td>
+ <td>{{Spec2('CSP 1.1')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.style-src")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li>{{CSP("style-src-elem")}}</li>
+ <li>{{CSP("style-src-attr")}}</li>
+ <li>{{HTTPHeader("Link")}} header</li>
+ <li>{{HTMLElement("style")}}, {{HTMLElement("link")}}</li>
+ <li>{{cssxref("@import")}}</li>
+ <li>{{domxref("CSSStyleSheet.insertRule()")}}</li>
+ <li>{{domxref("CSSGroupingRule.insertRule()")}}</li>
+ <li>{{domxref("CSSStyleDeclaration.cssText")}}</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/trusted-types/index.html b/files/fr/web/http/headers/content-security-policy/trusted-types/index.html
new file mode 100644
index 0000000000..447823ede5
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/trusted-types/index.html
@@ -0,0 +1,89 @@
+---
+title: 'CSP: trusted-types'
+slug: Web/HTTP/Headers/Content-Security-Policy/trusted-types
+tags:
+ - CSP
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Security
+ - Sécurité
+ - source
+ - trusted-types
+translation_of: Web/HTTP/Headers/Content-Security-Policy/trusted-types
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <code><strong>trusted-types</strong></code> {{experimental_inline}} informe l'agent utilisateur qu'il faut restreindre la création de règles Trusted Types (fonctions qui créent des valeurs typées non <span>falsifiables, dans le but de les passer au puits XSS du DOM au lieu de chaines de caractères).</span></p>
+
+<p><span>Conjointement à la directive <code><strong><a href="/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/require-trusted-types-for">require-trusted-types-for</a></strong></code>, cette directive permet aux auteurs de définir des règles empêchant d'injecter des données dans le</span><span> DOM et donc de réduire la fenêtre de tir pour les attaques XSS sur le DOM à quelques pans isolés de la base de code d'une application, facilitant donc son contrôle et sa relecture.</span> Cette directive déclare une liste de permissions de noms de règles de Trusted Types créée avec <code>TrustedTypes.createPolicy</code> à partir de l'API Trusted Types.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="notranslate">Content-Security-Policy: trusted-types;
+Content-Security-Policy: trusted-types 'none';
+Content-Security-Policy: trusted-types &lt;policyName&gt;;
+Content-Security-Policy: trusted-types &lt;policyName&gt; &lt;policyName&gt; 'allow-duplicates';
+</pre>
+
+<dl>
+ <dt>&lt;nomRègle&gt;</dt>
+ <dd>Un nom de règle est composé de caractères alphanumériques ou d'un ou plusieurs "<code>-#=_/@.%</code>".  Une astérisque (<code>*</code>) comme nom de règle informe l'agent utilisateur d'autoriser tout nom de règle unique (quoique la valeur <code>'allow-duplicates'</code> pourrait permettre d'être plus laxiste à l'avenir).</dd>
+ <dt><code>'none'</code></dt>
+ <dd>Interdit la création de toute règle de Trusted Type (identique au fait de ne renseigner aucun nom de règle).</dd>
+ <dt><code>'allow-duplicates'</code></dt>
+ <dd>Autorise la création de règles dont le nom a déjà été utilisé.</dd>
+</dl>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>Soit l'en-tête CSP :</p>
+
+<pre class="notranslate">Content-Security-Policy: trusted-types foo bar 'allow-duplicates';</pre>
+
+<p>Ce code génèrera une erreur car une des règles créées a un nom non autorisé :</p>
+
+<pre class="brush: js notranslate">if (typeof trustedTypes !== 'undefined') {
+  const policyFoo = trustedTypes.createPolicy('foo', {});
+  const policyFoo2 = trustedTypes.createPolicy('foo', {});
+  const policyBaz = trustedTypes.createPolicy('baz', {}); // Throws and dispatches a SecurityPolicyViolationEvent.
+}
+</pre>
+
+<h2 id="Prothèse_démulation">Prothèse d'émulation</h2>
+
+<p>Un <a href="https://github.com/w3c/webappsec-trusted-types#polyfill">prothèse d'émulation pour les Trusted Types</a> est disponible sur Github.</p>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><a href="https://w3c.github.io/webappsec-trusted-types/dist/spec/">Trusted Types</a></td>
+ <td>Draft</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.trusted-types")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li><a href="/en-US/docs/Glossary/Cross-site_scripting">Cross-Site Scripting (XSS)</a></li>
+ <li><a href="https://web.dev/trusted-types">Prevent DOM-based cross-site scripting vulnerabilities with Trusted Types</a></li>
+ <li>Trusted Types with <a href="https://github.com/cure53/DOMPurify#what-about-dompurify-and-trusted-types">DOMPurify</a> XSS sanitizer</li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/upgrade-insecure-requests/index.html b/files/fr/web/http/headers/content-security-policy/upgrade-insecure-requests/index.html
new file mode 100644
index 0000000000..31cb9ce45b
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/upgrade-insecure-requests/index.html
@@ -0,0 +1,96 @@
+---
+title: 'CSP: upgrade-insecure-requests'
+slug: Web/HTTP/Headers/Content-Security-Policy/upgrade-insecure-requests
+tags:
+ - CSP
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Reference
+ - Security
+ - Sécurité
+ - Upgrade
+ - request
+ - requête
+ - upgrade-insecure-requests
+translation_of: Web/HTTP/Headers/Content-Security-Policy/upgrade-insecure-requests
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <code><strong>upgrade-insecure-requests</strong></code> informe l'agent utilisateur de traiter toutes les URL non sécurisées d'un site (servies avec HTTP) comme si elles avaient été remplacées par des URL sécurisées (servies avec HTTPS). Cette directive est prévue pour les sites web ayant un grand nombre d'URL non sécurisées héritées du passé et qui ont besoin d'être récrites.</p>
+
+<p class="note">La directive <code>upgrade-insecure-requests</code> est évaluée avant la directive {{CSP("block-all-mixed-content")}} et si cette elle est définie, cette dernière est effectivement ignorée. Il est recommendé de ne définir que l'une des deux directives mais non les deux, à moins que vous souhaitiez forcer HTTPS sur les anciens navigateurs qui ne le font pas après une redirection vers HTTP.</p>
+
+<p>The <code>upgrade-insecure-requests</code> directive will not ensure that users visiting your site via links on third-party sites will be upgraded to HTTPS for the top-level navigation and thus does not replace the {{HTTPHeader("Strict-Transport-Security")}} ({{Glossary("HSTS")}}) header, which should still be set with an appropriate <code>max-age</code> to ensure that users are not subject to SSL stripping attacks.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: upgrade-insecure-requests;</pre>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>Soit cet en-tête CSP :</p>
+
+<pre class="notranslate">Content-Security-Policy: upgrade-insecure-requests;
+</pre>
+
+<p>Et cette balise meta :</p>
+
+<pre class="brush: html notranslate">&lt;meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"&gt;</pre>
+
+<p>Avec cet en-tête défini sur le domaine example.com voulant migrer d'HTTP à HTTPS, les requêtes pour des ressources non sécurisées et non navigationnelles sont automatiquement converties (qu'elles soient internes ou externes).</p>
+
+<pre class="brush: html notranslate">&lt;img src="http://example.com/image.png"&gt;
+&lt;img src="http://not-example.com/image.png"&gt;</pre>
+
+<p>Ces URL seront récrites avant que la requête soit envoyée, signifiant qu'aucune requête non sécurisée ne sera envoyée. Notez que si la ressource demandée n'est pas actuellement disponible via HTTPS, la requête échouera sans se rabattre sur HTTP.</p>
+
+<pre class="brush: html notranslate">&lt;img src="https://example.com/image.png"&gt;
+&lt;img src="https://not-example.com/image.png"&gt;</pre>
+
+<p>Les conversions navigationnelles vers des ressources externes amènent un risque significatif  de dysfonctionnement étant donné que des requêtes peuvent n'être pas converties, par exemple celles-ci :</p>
+
+<pre class="brush: html notranslate">&lt;a href="https://example.com/"&gt;Home&lt;/a&gt;
+&lt;a href="http://not-example.com/"&gt;Home&lt;/a&gt;</pre>
+
+<h3 id="Identifier_des_requêtes_non_sécurisées">Identifier des requêtes non sécurisées</h3>
+
+<p>À l'aide de l'en-tête {{HTTPHeader("Content-Security-Policy-Report-Only")}} et de la directive {{CSP("report-uri")}}, vous pouvez mettre en place une stratégie de rapportage de violations sans bloquage conjointement à une stratégie de conversion comme :</p>
+
+<pre class="notranslate">Content-Security-Policy: upgrade-insecure-requests; default-src https:
+Content-Security-Policy-Report-Only: default-src https:; report-uri /endpoint</pre>
+
+<p>De cette manière, vous convertirez toujours les requêtes non sécurisées sur votre site sécurisé mais la stratégie de rapportage identifiera les requêtes non sécurisées et les rapportera à l'adresse fournie.</p>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ <tr>
+ <td>{{specName("Upgrade Insecure Requests", "#delivery", "upgrade-insecure-requests")}}</td>
+ <td>{{Spec2('Upgrade Insecure Requests')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.upgrade-insecure-requests")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li>{{HTTPHeader("Upgrade-Insecure-Requests")}} header</li>
+ <li>{{HTTPHeader("Strict-Transport-Security")}} ({{Glossary("HSTS")}}) header</li>
+ <li>{{CSP("block-all-mixed-content")}}</li>
+ <li><a href="/en-US/docs/Web/Security/Mixed_content">Mixed content</a></li>
+</ul>
diff --git a/files/fr/web/http/headers/content-security-policy/worker-src/index.html b/files/fr/web/http/headers/content-security-policy/worker-src/index.html
new file mode 100644
index 0000000000..7e7ea6a9cf
--- /dev/null
+++ b/files/fr/web/http/headers/content-security-policy/worker-src/index.html
@@ -0,0 +1,100 @@
+---
+title: 'CSP: worker-src'
+slug: Web/HTTP/Headers/Content-Security-Policy/worker-src
+tags:
+ - CSP
+ - Content-Security-Policy
+ - Directive
+ - HTTP
+ - Reference
+ - Security
+ - Sécurité
+translation_of: Web/HTTP/Headers/Content-Security-Policy/worker-src
+---
+<div>{{HTTPSidebar}}</div>
+
+<p>La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) <code><strong>worker-src</strong></code> spécifie les sources valides pour les scripts {{domxref("Worker")}}, {{domxref("SharedWorker")}} et {{domxref("ServiceWorker")}}.</p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Version de CSP</th>
+ <td>3</td>
+ </tr>
+ <tr>
+ <th scope="row">Type de directive</th>
+ <td>{{Glossary("Fetch directive")}}</td>
+ </tr>
+ <tr>
+ <th scope="row">Valeur par défaut</th>
+ <td>
+ <p>Si cette directive est absente, l'agent utilisateur consultera d'abord la directive {{CSP("child-src")}}, puis la directive {{CSP("script-src")}} et enfin la directive {{CSP("default-src")}}, concernant la gestion l'exécution des workers.</p>
+
+ <p>Chrome 59 et plus ne consultent pas la directive {{CSP("child-src")}}.</p>
+
+ <p>Edge 17 ne consulte pas la directive {{CSP("script-src")}} (<a href="https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/17415478/">bug</a>).</p>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>Une ou plusieurs sources peuvent être autorisées pour cette directive :</p>
+
+<pre class="syntaxbox notranslate">Content-Security-Policy: worker-src &lt;source&gt;;
+Content-Security-Policy: worker-src &lt;source&gt; &lt;source&gt;;
+</pre>
+
+<h3 id="Sources">Sources</h3>
+
+<p>{{page("fr/Web/HTTP/Headers/Content-Security-Policy/connect-src", "Sources")}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Cas_de_violation">Cas de violation</h3>
+
+<p>Soit cet en-tête CSP :</p>
+
+<pre class="brush: bash notranslate">Content-Security-Policy: worker-src https://example.com/</pre>
+
+<p>{{domxref("Worker")}}, {{domxref("SharedWorker")}} et {{domxref("ServiceWorker")}} seront bloqués et ne se chargeront pas :</p>
+
+<pre class="brush: html notranslate">&lt;script&gt;
+ var blockedWorker = new Worker("data:application/javascript,...");
+ blockedWorker = new SharedWorker("https://not-example.com/");
+ navigator.serviceWorker.register('https://not-example.com/sw.js');
+&lt;/script&gt;</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{specName("CSP 3.0", "#directive-worker-src", "worker-src")}}</td>
+ <td>{{Spec2('CSP 3.0')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("http.headers.csp.Content-Security-Policy.worker-src")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{HTTPHeader("Content-Security-Policy")}}</li>
+ <li><a href="/docs/Web/API/Web_Workers_API/Using_web_workers#Content_security_policy">CSP for Web Workers</a></li>
+ <li>{{domxref("Worker")}}, {{domxref("SharedWorker")}}, {{domxref("ServiceWorker")}}</li>
+</ul>