web-dev-qa-db-fra.com

X-Frame-Options sur apache

J'essaie d'autoriser un domaine particulier à accéder à mon site via iframe 

Header set X-Frame-Options ALLOW-FROM https://www.that-site.com

Je sais que cela pourrait être fait en ajoutant la ligne ci-dessus à la configuration du serveur Apache.

Deux questions ici.

1) à quel fichier de configuration doit-on ajouter? Apache fonctionnant sous Unix et Windows, sinon le même fichier

2) pendant que vous activez all-from, je veux toujours pouvoir exécuter des iframe de mon propre domaine. Puis-je simplement ajouter la ligne suivante après le permis-from? 

 Header set X-Frame-Options SAMEORIGIN

Ou je devrais simplement ajouter mon propre domaine dans le tout-à-dire, à savoir 

 Header set X-Frame-Options ALLOW-FROM https://www.that-site.com, http://www.my-own-domain.com

Vraiment besoin de résoudre ce problème. Merci d'avance

26
user1619397
  1. Vous pouvez ajouter à la section .htaccess, httpd.conf ou VirtualHost
  2. Header set X-Frame-Options SAMEORIGIN c'est la meilleure option

Allow from URI n'est pas supporté par tous les navigateurs. Référence: X-Frame-Options on MDN

28
Chakri

Voir En-tête X-Frame-Options sur la réponse à une erreur

Vous pouvez simplement ajouter la ligne suivante à .htaccess

Header always unset X-Frame-Options
19
Martin

Cela a fonctionné pour moi sur tous les navigateurs:

  1. Créé une page avec tout mon javascript
  2. Création d'une 2ème page sur le même serveur et intégration de la première page à l'aide de la balise object.
  3. Sur mon site tiers, j'ai utilisé la balise Object pour intégrer la 2ème page.
  4. Créé un fichier .htaccess sur le serveur d'origine dans le dossier public_html et y place Header unset X-Frame-Options.
1
VirtualProzac

J'ai constaté que si l'application sur le serveur httpd avait une règle du type "si l'en-tête X-Frame-Options existe et a une valeur, laissez-le tranquille; sinon ajoutez l'en-tête X-Frame-Options: SAMEORIGIN", puis un httpd.conf. Une règle mod_headers telle que "En-tête toujours non défini d'options X-Frame-Options" ne suffirait pas. La valeur SAMEORIGIN atteindrait toujours le client.

Pour remédier à cela, j'ajoute deux règles, pas une, mod_headers (dans le fichier httpd.conf le plus externe):

Header set X-Frame-Options ALLOW-FROM http://to.be.deleted.com early
Header unset X-Frame-Options

La première règle indique à tout gestionnaire de demandes interne qu'un autre agent a assumé la responsabilité de la prévention des détournements de clic et qu'il peut ignorer sa tentative de sauver le monde. Il fonctionne avec un traitement "précoce". La deuxième règle supprime l'en-tête entièrement indésirable de X-Frame-Options. Il fonctionne avec un traitement "en retard".

J'ajoute également les en-têtes Content-Security-Policy appropriés afin que le monde reste protégé, mais que le langage JavaScript multi-sources de sites de confiance puisse encore s'exécuter.

1
Lonnie