NGINX X-Frame-Optionen lassen nur eine Seite zu

13925
Flatron

Ich versuche, mein vHost so einzurichten, dass Iframes von nur einer Subdomain unseres Netzwerks zugelassen werden. Vorher hatten wir:

add_header X-Frame-Options "SAMEORIGIN"; auf allen unseren Seiten.

Um das zu erreichen, was ich will, habe ich versucht:

add_header X-Frame-Options https://somewebsite.com; 

Dies erlaubt es, iframes wie gewünscht zuzulassen, aber es erlaubt ihnen, von jeder Domäne aus nicht nur von https://somewebsite.com.

Wie kann ich iframes von allen externen Seiten abweisen, aber von einer Subdomain zulassen?

Side Info:

Beide Standorte laufen auf demselben Rechner.

1

1 Antwort auf die Frage

2
heavyd

Der RFC für den X-Frame-OptionsHeader gibt an, dass für den Header gültige Optionen lauten:

  • DENY
  • SAMEORIGIN
  • ALLOW-FROM <uri>

Zuerst müssen Sie also ALLOW-FROMden URI Ihrer Subdomain hinzufügen und dann angeben. Etwas wie das:

ALLOW-FROM https://subdomain.example.com/ 
Ich habe `add_header X-Frame-Options" ALLOW-FROM https://sub.example.com ";` meiner vHost-Konfigurationsdatei hinzugefügt. Dies endet in demselben Verhalten wie zuvor -> iframing ist von jeder Domäne aus zulässig. Hat der verwendete Browser eine Auswirkung? Ich benutze Google Chrome (48.0.2564.103) Flatron vor 8 Jahren 0
Siehe die Tabelle unten auf dieser Seite (https://developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options). Offensichtlich unterstützt Chrome "ALLOW-FROM" nicht. heavyd vor 8 Jahren 3