CSP - Implémenter les frame-ancestors en remplacement des X-Frame-Options Imprimer

  • 1

X-Frame-Options et CSP frame-ancestors

Ces deux entêtes HTTP permettent d'indiquer à un navigateur web qu'un site web peut être inclus (ou non) dans un autre. Elles permettent d'éviter les attaques de type clickjacking.

 

 

Comme le laisse deviner son nom préfixé par « X- » (pour expérimental), X-Frame-Options est un entête déprécié qui a été remplacé par l'attribut « frame-ancestors » dans la deuxième version de CSP. Source : la norme CSPv2.

 

La directive HTTP Content-Security-Policy (CSP) frame-ancestors spécifie, comme son ancêtre X-Frame-Options les parents pouvant intégrer une page en utilisant <frame><iframe><object><embed>, ou <applet>

Le fonctionnement de l'un ou de l'autre est similaire, en effet vous pouvez par exemple définir cette directive à 'none' sur CSP ce qui est comparable à l''en-tête HTTP X-Frame-Options: deny (supporté sur les anciens navigateurs).

 

 

S'autoriser mais REFUSER les autres

Similaire à X-Frame-Options SAMEORIGIN, vous pouvez ajouter ce qui suit.

Header set Content-Security-Policy "frame-ancestors 'self';"
 

Autoriser plusieurs domaines

X-Frame-Options n'avait pas d'option pour autoriser l'affichage à partir de plusieurs domaines. Grâce à CSP, vous pouvez faire comme ci-dessous.

Header set Content-Security-Policy "frame-ancestors 'self' siteweb1.com siteweb2.com;"
 
 
Ce qui précède permettra au contenu d'être intégré à partir de self, geekflare.com, gf.dev, geekflare.dev. Changez ces domaines avec le vôtre.

 

X-Frame-Options sera obsolète dans un proche avenir lorsque CSP sera entièrement compatible avec tous les principaux navigateurs. prévoyez donc votre configuration de demain

 

Remarque :

Vous pouvez vérifier la configuration de votre serveur Apache/nginx et vérifier si vos en-têtes sont sécurisés en cliquant sur ces liens. Nous vous recommandons toutefois de masquer votre signature après vos tests.


Cette réponse était-elle pertinente?

« Retour