aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/http/headers/content-security-policy/default-src/index.md
diff options
context:
space:
mode:
authorjulieng <julien.gattelier@gmail.com>2021-09-17 20:50:13 +0200
committerSphinxKnight <SphinxKnight@users.noreply.github.com>2021-10-12 07:57:56 +0200
commit0fe03b92344c0f9b0d4ada2146d4480997ab2e25 (patch)
treeb2b704c9e2987a769980ad0d619ff1bd879c7e34 /files/fr/web/http/headers/content-security-policy/default-src/index.md
parentdf12ec2617159d79d2ea959389358ef52423f9ff (diff)
downloadtranslated-content-0fe03b92344c0f9b0d4ada2146d4480997ab2e25.tar.gz
translated-content-0fe03b92344c0f9b0d4ada2146d4480997ab2e25.tar.bz2
translated-content-0fe03b92344c0f9b0d4ada2146d4480997ab2e25.zip
convert content to md
Diffstat (limited to 'files/fr/web/http/headers/content-security-policy/default-src/index.md')
-rw-r--r--files/fr/web/http/headers/content-security-policy/default-src/index.md255
1 files changed, 115 insertions, 140 deletions
diff --git a/files/fr/web/http/headers/content-security-policy/default-src/index.md b/files/fr/web/http/headers/content-security-policy/default-src/index.md
index 9f2d9d6cb8..ac8590e5ce 100644
--- a/files/fr/web/http/headers/content-security-policy/default-src/index.md
+++ b/files/fr/web/http/headers/content-security-policy/default-src/index.md
@@ -14,108 +14,105 @@ tags:
- source
translation_of: Web/HTTP/Headers/Content-Security-Policy/default-src
---
-<div>{{HTTPSidebar}}</div>
-
-<p>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")}}.</p>
-
-<p>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>
+{{HTTPSidebar}}
+
+La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) **`default-src`** sert de valeur par défaut pour les autres directives CSP {{Glossary("fetch directive", "fetch directives")}}.
+
+Pour chacune des directives suivantes, l'agent utilisateur consultera la directive `default-src` et utilisera sa valeur pour la directive demandée si celle-ci est absente :
+
+- {{CSP("child-src")}}
+- {{CSP("connect-src")}}
+- {{CSP("font-src")}}
+- {{CSP("frame-src")}}
+- {{CSP("img-src")}}
+- {{CSP("manifest-src")}}
+- {{CSP("media-src")}}
+- {{CSP("object-src")}}
+- {{CSP("prefetch-src")}}
+- {{CSP("script-src")}}
+- {{CSP("script-src-elem")}}
+- {{CSP("script-src-attr")}}
+- {{CSP("style-src")}}
+- {{CSP("style-src-elem")}}
+- {{CSP("style-src-attr")}}
+- {{CSP("worker-src")}}
<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>
+ <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">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>
-
-<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><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>
- <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>
- <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>
-
-<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">Content-Security-Policy: default-src 'self'; script-src https://example.com</pre>
-
-<p>Est identique à :</p>
-
-<pre class="brush: bash">Content-Security-Policy: connect-src 'self';
+## Syntaxe
+
+Une ou plusieurs sources peuvent être autorisées pour cette directive :
+
+ Content-Security-Policy: default-src <source>;
+ Content-Security-Policy: default-src <source> <source>;
+
+### Sources
+
+La \<source> peut être une des suivantes :
+
+- \<host-source>
+
+ - : Des hôtes Internet par leur nom de domaine ou adresse IP, aussi bien qu'un [protocole](/en-US/docs/URIs_and_URLs) et/ou un numéro de port. L'adresse du site peut inclure un caractère de remplacement optionnel (l'astérisque `'*'`), qui ne peut être utilisée que pour indiquer un sous-domaine ou que tous les ports existants sont des sources valides.
+ Exemples:
+
+ - `http://*.example.com`: correspondra à toutes les tentatives d'accès pour tous les sous-domaines de example.com via le protocole `http:`.
+ - `mail.example.com:443`: correspondra à toutes les tentatives d'accès sur le port 443 de mail.example.com.
+ - `https://store.example.com`: correspondra à toutes les tentatives d'accès à store.example.com via le protocole `https:`.
+ - `*.example.com`: correspondra à toutes les tentatives d'accès pour tous les sous-domaines de example.com en utilisant le protocole courant.
+
+- \<scheme-source>
+
+ - : Un protocole tel que `http:` ou `https:`. 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é).
+
+ - `data:` permet aux [URI `data:`](/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) d'être utilisées comme sources de contenu. _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._
+ - `mediastream:` permet aux [URI `mediastream:`](/en-US/docs/Web/API/MediaStream_API) d'être utilisées comme source de contenu.
+ - `blob:` permet aux [URI `blob:`](/en-US/docs/Web/API/Blob) d'être utilisées comme source de contenu.
+ - `filesystem:` Allows [URI `filesystem:`](/en-US/docs/Web/API/FileSystem) d'être utilisées comme source de contenu.
+
+- `'self'`
+ - : 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 `blob` et `filesystem` des directives de source. Les sites nécessitant une permission pour ces types de contenu peuvent les spécifier en utilisant l'attribut Data.
+- `'unsafe-eval'`
+ - : Permet l'usage de la fonction `eval()` et de méthodes similaires pour créer du code à partir de chaines de caractères. Vous devez mettre cette valeur entre guillemets.
+- `'unsafe-hashes'`
+ - : Permet l'usage de certains [écouteurs d'évènements](/en-US/docs/Web/Guide/Events/Event_handlers) 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 `javascript:`, cette valeur est plus sécurisée que `unsafe-inline`.
+- `'unsafe-inline'`
+ - : Permet l'usage de ressources embarquées, tels que des éléments {{HTMLElement("script")}} (sans `src`), d'URL `javascript:`, de gestionnaire d'évènement par attributs (`on<eventName>`), et d'éléments {{HTMLElement("style")}}. Vous devez mettre cette valeur entre guillemets.
+- `'none'`
+ - : Aucune source n'est admise. Vous devez mettre cette valeur entre guillemets.
+- 'nonce-\<base64-value>'
+ - : Une liste de permissions pour des scripts embarqués spécifiques en utilisant un nonce (_number used once_, 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 [inline script non fiables](/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src#Unsafe_inline_script) pour avoir un exemple. Spécifier un nonce implique que les navigateurs modernes ignoreront la valeur `'unsafe-inline'`, qui peut toutefois être laissée pour les anciens navigateurs ne supportant pas les nonces.
+- '\<hash-algorithm>-\<base64-value>'
+ - : Un hash sha256, sha384 ou sha512 d'un `<script>` ou d'un `<style>`. 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 `<script>` or `<style>` et tenir compte de la casse et des caractères blancs (espaces, retours à la ligne, etc.). Voir [inline script non fiables](/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src#Unsafe_inline_script) 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.
+- 'strict-dynamic'
+ - : La valeur `strict-dynamic` 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 `'self'` ou `'unsafe-inline'` et listes de permissions sont ignorées. Voir [script-src](/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src#strict-dynamic) pour en avoir un exemple.
+- 'report-sample'
+ - : Requiert qu'un échantillon du code violant la directive soit inclus dans le rapport envoyé.
+
+## Exemples
+
+### Absence d'héritage avec default-src
+
+S'il y a d'autres directives spécifiées, `default-src` ne les affecte pas. Soit l'en-tête suivant :
+
+```bash
+Content-Security-Policy: default-src 'self'; script-src https://example.com
+```
+
+Est identique à :
+
+```bash
+Content-Security-Policy: connect-src 'self';
font-src 'self';
frame-src 'self';
img-src 'self';
@@ -124,51 +121,29 @@ Content-Security-Policy: default-src &lt;source&gt; &lt;source&gt;;
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>
+ worker-src 'self'
+```
+
+## Spécifications
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+| Spécification | Statut | Commentaire |
+| ------------------------------------------------------------------------------------ | ---------------------------- | ------------------------------------------------------------------------------ |
+| {{specName("CSP 3.0", "#directive-default-src", "default-src")}} | {{Spec2('CSP 3.0')}} | Ajout de `frame-src`, `manifest-src` et `worker-src` comme valeurs par défaut. |
+| {{specName("CSP 1.1", "#directive-default-src", "default-src")}} | {{Spec2('CSP 1.1')}} | Définition initiale. |
+## Compatibilité des navigateurs
+{{Compat("http.headers.csp.Content-Security-Policy.default-src")}}
-<p>{{Compat("http.headers.csp.Content-Security-Policy.default-src")}}</p>
+## Voir aussi
-<h2 id="Voir_aussi">Voir aussi</h2>
+- {{HTTPHeader("Content-Security-Policy")}}
+- CSP directives (<https://www.w3.org/TR/CSP/#csp-directives>):
-<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>
+ - {{Glossary("Fetch directive")}}
+ - {{Glossary("Document directive")}}
+ - {{Glossary("Navigation directive")}}
+ - {{Glossary("Reporting directive")}}
+ - [`upgrade-insecure-requests`](/docs/Web/HTTP/Headers/Content-Security-Policy/upgrade-insecure-requests)
+ - [`block-all-mixed-content`](/docs/Web/HTTP/Headers/Content-Security-Policy/block-all-mixed-content)
+ - [`require-sri-for`](/docs/Web/HTTP/Headers/Content-Security-Policy/require-sri-for) {{experimental_inline}}