aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--files/fr/web/html/element/frame/index.md18
-rw-r--r--files/fr/web/http/headers/x-frame-options/index.md95
2 files changed, 58 insertions, 55 deletions
diff --git a/files/fr/web/html/element/frame/index.md b/files/fr/web/html/element/frame/index.md
index b1e817205a..3d4a43ac92 100644
--- a/files/fr/web/html/element/frame/index.md
+++ b/files/fr/web/html/element/frame/index.md
@@ -1,22 +1,14 @@
---
-title: '<frame> : l''élément représentant une zone particulière'
+title: '<frame>'
slug: Web/HTML/Element/frame
-tags:
- - Deprecated
- - Element
- - HTML
- - Reference
- - Web
translation_of: Web/HTML/Element/frame
browser-compat: html.elements.frame
---
-{{HTMLRef}}
+{{HTMLRef}}{{deprecated_header}}
-> **Attention :** Cette fonctionnalité a été supprimée des standards du Web. Bien que quelques navigateurs puissent encore la supporter, elle est en cours d'éradication. Ne l'utilisez ni dans d'anciens projets, ni dans de nouveaux. Les pages et applications web l'utilisant peuvent cesser de fonctionner à tout moment.
+L'élément [HTML](/fr/docs/Web/HTML) **`<frame>`** définit une zone particulière dans laquelle un autre document HTML est affiché. Une `<frame>` (un «&nbsp;cadre&nbsp;» en français) doit être utilisée dans un élément [`<frameset>`](/fr/docs/Web/HTML/Element/frameset).
-L'élément HTML **`<frame>`** définit une zone particulière dans laquelle un autre document HTML est affiché. Une `<frame>` (un « cadre ») doit être utilisée dans un élément [`<frameset>`](/fr/docs/Web/HTML/Element/frameset).
-
-Utiliser l'élément `<frame>` est déconseillé en raison de certains inconvénients tels que des problèmes de performance, et un manque d'accessibilité pour les utilisateurs de lecteurs d'écran.
+Utiliser l'élément `<frame>` est déconseillé en raison de certains inconvénients tels que des problèmes de performance et un manque d'accessibilité pour les personnes utilisant des lecteurs d'écran. Utilisez plutôt l'élément [`<iframe>`](/fr/docs/Web/HTML/Element/iframe).
## Attributs
@@ -29,7 +21,7 @@ Comme tous les autres éléments HTML, cet élément prend en charge les [attrib
- `noresize`
- : Cet attribut empêche aux utilisateurs de redimensionner les frames.
- `scrolling`
- - : Cet attribut définit l'existence des barres de défilement. Si cet attribut n'est pas utilisé, le navigateur mettre une barre de défilement si nécessaire. Il y a deux options : `yes` pour afficher les barres de défilement même quand ce n'est pas nécessaire, et `no` pour ne pas afficher les barres de défilement même quand c'est nécessaire.
+ - : Cet attribut définit l'existence des barres de défilement. Si cet attribut n'est pas utilisé, le navigateur mettre une barre de défilement si nécessaire. Il y a deux options&nbsp;: `"yes"` pour afficher les barres de défilement même quand ce n'est pas nécessaire, et `"no"` pour ne pas afficher les barres de défilement même quand c'est nécessaire.
- `marginheight`
- : Cet attribut définit la hauteur des marges entre les frames.
- `marginwidth`
diff --git a/files/fr/web/http/headers/x-frame-options/index.md b/files/fr/web/http/headers/x-frame-options/index.md
index 7f47590b01..94dc2f5f0c 100644
--- a/files/fr/web/http/headers/x-frame-options/index.md
+++ b/files/fr/web/http/headers/x-frame-options/index.md
@@ -1,30 +1,26 @@
---
title: X-Frame-Options
slug: Web/HTTP/Headers/X-Frame-Options
-tags:
- - HTTP
- - Réponse
- - Sécurité
- - en-tête
translation_of: Web/HTTP/Headers/X-Frame-Options
+browser-compat: http.headers.X-Frame-Options
---
{{HTTPSidebar}}
-L'en-tête de réponse [HTTP](/fr/docs/Web/HTTP) **`X-Frame-Options`** peut être utilisé afin d'indiquer si un navigateur devrait être autorisé à afficher une page au sein d'un élément {{HTMLElement("frame")}}, {{HTMLElement("iframe")}}, {{HTMLElement("embed")}} ou {{HTMLElement("object")}}. Les sites peuvent utiliser cet en-tête afin d'éviter les attaques de _{{interwiki("wikipedia", "clickjacking")}}_ pour s'assurer que leur contenu ne soit pas embarqués dans d'autres sites.
+L'en-tête de réponse [HTTP](/fr/docs/Web/HTTP) **`X-Frame-Options`** peut être utilisé afin d'indiquer si un navigateur devrait être autorisé à afficher une page au sein d'un élément [`<frame>`](/fr/docs/Web/HTML/Element/frame), [`<iframe>`](/fr/docs/Web/HTML/Element/iframe), [`<embed>`](/fr/docs/Web/HTML/Element/embed) ou [`<object>`](/fr/docs/Web/HTML/Element/object). Les sites peuvent utiliser cet en-tête afin d'éviter les attaques de _[clickjacking](https://fr.wikipedia.org/wiki/Clickjacking)_ (ou «&nbsp;détournement de clic&nbsp;») pour s'assurer que leur contenu ne soit pas embarqué dans d'autres sites.
Ce complément de sécurité est uniquement valable lorsque l'utilisateur final visite le document avec un navigateur prenant en charge `X-Frame-Options`.
-> **Note :** L'en-tête {{HTTPHeader("Content-Security-Policy")}} possède une directive [`frame-ancestors`](/fr/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors) qui [supplante](https://www.w3.org/TR/CSP2/#frame-ancestors-and-frame-options) cet en-tête pour les navigateurs compatibles.
+> **Note :** L'en-tête [`Content-Security-Policy`](/fr/docs/Web/HTTP/Headers/Content-Security-Policy) possède une directive [`frame-ancestors`](/fr/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors) qui [supplante](https://www.w3.org/TR/CSP2/#frame-ancestors-and-frame-options) cet en-tête pour les navigateurs compatibles.
<table class="properties">
<tbody>
<tr>
<th scope="row">Type d'en-tête</th>
- <td>En-tête de réponse</td>
+ <td><a href="/fr/docs/Glossary/Response_header">En-tête de réponse</a></td>
</tr>
<tr>
<th scope="row">
- <a href="/fr/docs/Glossaire/Forbidden_header_name"
+ <a href="/fr/docs/Glossary/Forbidden_header_name"
>Nom d'en-tête interdit</a
>
</th>
@@ -35,45 +31,53 @@ Ce complément de sécurité est uniquement valable lorsque l'utilisateur final
## Syntaxe
-Il existe deux directives pour `X-Frame-Options` :
+Il existe deux directives pour `X-Frame-Options`&nbsp;:
- X-Frame-Options: deny
- X-Frame-Options: sameorigin
+```
+X-Frame-Options: DENY
+X-Frame-Options: SAMEORIGIN
+```
### Directives
-Si on utilise `deny`, le chargement de la page dans une _frame_ échouera sur un site tiers mais aussi sur un site de la même origine. En revanche, si on utilise `sameorigin`, on peut toujours utiliser le document dans une _frame_ si celle-ci partage la même origine.
+Si on utilise `DENY`, le chargement de la page dans une _frame_ échouera sur un site tiers mais aussi sur un site de la même origine. En revanche, si on utilise `SAMEORIGIN`, on peut toujours utiliser le document dans une _frame_ si celle-ci partage la même origine.
-- `deny`
+- `DENY`
- : La page ne peut pas être affichée dans une _frame_, quand bien même un site tiers tenterait de la charger.
-- `sameorigin`
- - : La page ne peut être affichée que dans une _frame_ avec une origine qui est la même que la page elle-même. La spécification laisse le choix au navigateur de décider si cela s'applique au niveau le plus haut, au conteneur parent ou à l'ensemble de la chaîne des _frames_ potentiellement imbriquées. Il est parfois avancé que cette option n'est pas très utile à moins que l'ensemble des ancêtres partage la même origine (cf. {{bug(725490)}}). Voir aussi le tableau de compatibilité ci-après pour plus de détails sur la prise en charge de cette directive.
-- `allow-from uri` _(obsolète)_
- - : Une directive obsolète qui ne fonctionne plus dans les navigateurs récents et qui ne doit donc plus être utilisée. Pour les navigateurs historiques, cette directive permettait d'indiquer une origine via une URI afin d'autoriser l'affichage du document dans les _frames_ chargées depuis cette origine. Pour les anciennes versions de Firefox, on a le même problème qu'avec `sameorigin` : il n'y a pas de vérifications des différents ancêtres pour voir s'ils partagent la même origine. À la place, on utilisera la directive `frame-ancestors` de l'en-tête {{HTTPHeader("Content-Security-Policy")}}.
+- `SAMEORIGIN`
+ - : La page ne peut être affichée que dans une _frame_ avec une origine qui est la même que la page elle-même. La spécification laisse le choix au navigateur de décider si cela s'applique au niveau le plus haut, au conteneur parent ou à l'ensemble de la chaîne des _frames_ potentiellement imbriquées. Il est parfois avancé que cette option n'est pas très utile à moins que l'ensemble des ancêtres partage la même origine (cf. [bug 725490](https://bugzilla.mozilla.org/show_bug.cgi?id=725490)). Voir aussi [le tableau de compatibilité](#compatibilité_des_navigateurs) ci-après pour plus de détails sur la prise en charge de cette directive.
+- `ALLOW-FROM uri` {{deprecated_inline}}
+ - : Une directive obsolète qui ne fonctionne plus dans les navigateurs récents et qui ne doit donc plus être utilisée. Pour les navigateurs historiques, cette directive permettait d'indiquer une origine via une URI afin d'autoriser l'affichage du document dans les _frames_ chargées depuis cette origine. Pour les anciennes versions de Firefox, on a le même problème qu'avec `SAMEORIGIN`&nbsp;: il n'y a pas de vérifications des différents ancêtres pour voir s'ils partagent la même origine. À la place, on utilisera la directive [`frame-ancestors`](/fr/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors) de l'en-tête [`Content-Security-Policy`](/fr/docs/Web/HTTP/Headers/Content-Security-Policy).
## Exemples
-> **Note :** La balise `<meta>` est inutile ici ! `<meta http-equiv="X-Frame-Options" content="deny">` n'aura aucun effet et mieux vaut donc ne pas l'utiliser.
+> **Note :** La balise `<meta>` est inutile ici&nbsp;! `<meta http-equiv="X-Frame-Options" content="deny">` n'aura aucun effet et mieux vaut donc ne pas l'utiliser. L'en-tête `X-FRAME-OPTIONS` ne fonctionne que si vous l'utilisez dans la configuration HTTP comme dans les exemples ci-dessous.
### Configurer Apache
-On peut configurer Apache afin d'envoyer l'en-tête `X-Frame-Options` pour toutes les pages. Dans la configuration, on ajoutera :
+On peut configurer Apache afin d'envoyer l'en-tête `X-Frame-Options` pour toutes les pages. Dans la configuration, on ajoutera&nbsp;:
- Header always set X-Frame-Options "sameorigin"
+```
+Header always set X-Frame-Options "SAMEORIGIN"
+```
-Si on veut utiliser la valeur `deny`, on pourra utiliser ceci dans la configuration :
+Si on veut utiliser la valeur `DENY`, on pourra utiliser ceci dans la configuration&nbsp;:
- Header set X-Frame-Options "deny"
+```
+Header set X-Frame-Options "DENY"
+```
-### Configurer NGINX
+### Configurer nginx
-Avec NGINX, on pourra ajouter la ligne suivante à la configuration HTTP, serveur ou à la configuration de l'emplacement (_location_) :
+Avec nginx, on pourra ajouter la ligne suivante à la configuration HTTP, serveur ou à la configuration de l'emplacement (<i lang="en">location</i>)&nbsp;:
- add_header X-Frame-Options sameorigin always;
+```
+add_header X-Frame-Options SAMEORIGIN always;
+```
### Configurer IIS
-Pour IIS, on complètera le fichier `Web.config` :
+Pour IIS, ajoutez ce qui suit au fichier `Web.config` de votre site&nbsp;:
```xml
<system.webServer>
@@ -81,7 +85,7 @@ Pour IIS, on complètera le fichier `Web.config` :
<httpProtocol>
<customHeaders>
- <add name="X-Frame-Options" value="sameorigin" />
+ <add name="X-Frame-Options" value="SAMEORIGIN" />
</customHeaders>
</httpProtocol>
@@ -89,43 +93,50 @@ Pour IIS, on complètera le fichier `Web.config` :
</system.webServer>
```
+Consultez [cet article Microsoft](https://support.microsoft.com/fr-fr/office/mitigating-framesniffing-with-the-x-frame-options-header-1911411b-b51e-49fd-9441-e8301dcdcd79) pour configurer IIS via l'interface du gestionnaire IIS (<i lang="en">IIS manager</i>).
+
### Configurer HAProxy
-Pour HAProxy, on ajoutera la ligne suivante à la configuration du _front_, du _listen_ ou du _backend_ :
+Pour HAProxy, on ajoutera la ligne suivante à la configuration du _frontend_, du _listen_ ou du _backend_&nbsp;:
- rspadd X-Frame-Options:\ sameorigin
+```
+rspadd X-Frame-Options:\ SAMEORIGIN
+```
-Dans les versions plus récentes, voici la forme équivalente :
+Dans les versions plus récentes, voici la forme équivalente&nbsp;:
- http-response set-header X-Frame-Options sameorigin
+```
+http-response set-header X-Frame-Options SAMEORIGIN
+```
-### Configurer Express / Utiliser frameguard en Node.js
+### Configurer Express
-Si on utilise Express, on pourra utiliser le module [helmet](https://helmetjs.github.io/) qui tire parti de [frameguard](https://helmetjs.github.io/docs/frameguard/) afin de régler cet en-tête :
+Si on utilise Express, on pourra utiliser le module [helmet](https://helmetjs.github.io/) qui tire parti de [frameguard](https://helmetjs.github.io/docs/frameguard/) afin de régler l'en-tête `X-Frame-Options`. Ajoutez ceci à la configuration serveur&nbsp;:
```js
const helmet = require('helmet');
const app = express();
-app.use(helmet.frameguard({ action: "sameorigin" }));
+app.use(helmet.frameguard({ action: "SAMEORIGIN" }));
```
-On pourra également utiliser [frameguard](https://helmetjs.github.io/docs/frameguard/) directement :
+On pourra également utiliser [frameguard](https://helmetjs.github.io/docs/frameguard/) directement&nbsp;:
```js
const frameguard = require('frameguard')
-app.use(frameguard({ action: 'sameorigin' }))
+app.use(frameguard({ action: 'SAMEORIGIN' }))
```
## Spécifications
-| Spécification | Titre |
-| -------------------- | ----------------------------------- |
-| {{RFC("7034")}} | _HTTP Header Field X-Frame-Options_ |
+{{Specifications}}
## Compatibilité des navigateurs
-{{Compat("http.headers.X-Frame-Options")}}
+{{Compat}}
## Voir aussi
-- [`frame-ancestors`](/fr/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors) lié à la configuration de la stratégie CSP via {{HTTPHeader("Content-Security-Policy")}}
+- [`frame-ancestors`](/fr/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors) lié à la configuration de la stratégie CSP via [`Content-Security-Policy`](/fr/docs/Web/HTTP/Headers/Content-Security-Policy)
+- [L'en-tête HTTP `X-Frame-Options` - RFC 7034 (en anglais)](https://datatracker.ietf.org/doc/html/rfc7034)
+- [Protéger contre le détournement de clic - IEBlog (en anglais)](https://docs.microsoft.com/en-us/archive/blogs/ie/ie8-security-part-vii-clickjacking-defenses)
+- [Lutter contre le détournement de clic avec l'en-tête `X-Frame-Options` - IEInternals (en anglais)](https://docs.microsoft.com/en-us/archive/blogs/ieinternals/combating-clickjacking-with-x-frame-options)