Cette traduction est incomplète. Aidez à traduire cet article depuis l'anglais.

L'option X-Frame-Options HTTP response header permet de spécifier si oui ou non un navigateur dispose des autorisations pour charger une page dans un  <frame>, <iframe> ou <object> . Cette option permet d'éviter les attaques de type clickjacking , en s'assurant que leur contenu n'est pas intégré au sein d'autres sites.

Cette sécurité n'est disponible que dans le cas ou le navigateur supporte l'option X-Frame-Options.

Header type Response header
Forbidden header name no

Syntax

Trois valeurs sont possibles pour  X-Frame-Options:

X-Frame-Options: DENY
X-Frame-Options: SAMEORIGIN
X-Frame-Options: ALLOW-FROM https://example.com/

Valeurs possible

Si la valeur DENY est spécifiée, la chargement de la page ne pourra pas se faire dans une frame que ce soit d'un site extérieur ou de même origine. Par contre si l'on spécifie SAMEORIGIN, on peut toujours afficher la page dans une frame tant que le site qui l'intègre dans une frame est le même que celui servant la page.

DENY
La page ne peut pas être affiché dans une frame, peu importe le site qui essaie de la charger.
SAMEORIGIN
La page ne peut être affiché que par un site de même origine.
ALLOW-FROM uri
La page ne peut s'afficher dans une frame qu'à partir de l'origine spécifié.

Examples

Note: Configurer l'option dans la meta tag est inutile ! Par exemple, <meta http-equiv="X-Frame-Options" content="deny"> n'a aucun effet. Merci de ne pas l'utiliser! Le seul moyen pour que cette option soit opérationnelle est de le configurer au niveau de la HTTP header comme l'exepmple ci-dessous, X-Frame-Options.

Configuration  d'Apache

Afin de configurer Apache pour qu'il renvoie l'option X-Frame-Options header pour toutes les pages, ajouter la commande suivante au fichier de configuration de votre site :

Header always append X-Frame-Options SAMEORIGIN

Afin de configurer Apache sur la valeur X-Frame-Options à DENY, ajouter la commande suivante au fichier de configuration de votre site :

Header set X-Frame-Options DENY

Afin de configurer Apache sur la valeur X-Frame-Options  à ALLOW-FROM sur un site spécifique, ajouter la commande suivante au fichier de configuration de votre site :

Header set X-Frame-Options "ALLOW-FROM https://example.com/"

Configuration de nginx

Afin de configurer nginx à renvoyer X-Frame-Options header, ajouter ceci à votre http, server ou configuration:

add_header X-Frame-Options SAMEORIGIN;

Configuration IIS

Afin de configurer IIS à renvoyer X-Frame-Options header, ajouter le bloc suivant dans le fichier de configuration  Web.config :

<system.webServer>
  ...

  <httpProtocol>
    <customHeaders>
      <add name="X-Frame-Options" value="SAMEORIGIN" />
    </customHeaders>
  </httpProtocol>

  ...
</system.webServer>

Configuration de HAProxy

Afin de configurer HAProxy à renvoyer X-Frame-Options header, ajouter la commande suivante à la configuration du front-end, listen, ou backend :

rspadd X-Frame-Options:\ SAMEORIGIN

Spécifications

Specification Title
RFC 7034 HTTP Header Field X-Frame-Options

Compatibilités avec les navigateurs

FonctionnalitéChromeEdgeFirefoxInternet ExplorerOperaSafari
Support simple4 Oui3.6.9810.54
ALLOW-FROM Non ?188 ? Oui
SAMEORIGIN Oui1 ?188 Oui2 Oui
FonctionnalitéAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Support simple Oui Oui Oui Oui Oui Oui Oui
ALLOW-FROM ? ? ? ? ? ? ?
SAMEORIGIN Oui1 Oui1 ? ? ? Oui2 ?

1. Starting in Chrome 61, this applies to all of a frame's ancestors.

2. Starting in Opera 48, this applies to all of a frame's ancestors.

Voir également

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : aymericsorek, mmahouachi
 Dernière mise à jour par : aymericsorek,