X-Frame-Options nedir?
Kısa cevap
X-Frame-Options, sayfanın başka sayfalarda iframe içinde gösterilip gösterilemeyeceğini tarayıcıya bildiren yanıt header'ıdır. Amacı clickjacking'i önlemektir: saldırgan sayfayı kendi sitesinde görünmez bir iframe'e yerleştirip kullanıcının farkında olmadan butonlara tıklamasını sağlayamaz. DENY hiçbir framing'e, SAMEORIGIN yalnızca aynı origin'deki sayfaların framing'ine izin verir. TR7'de Manage HTTP Security Headers aksiyonunun Response Headers listesinde X-Frame-Options ("SAMEORIGIN") seçildiğinde header SAMEORIGIN değeriyle Kurum Servisinden gelen yanıtlara yazılır; Kurum Servisinin gönderdiği X-Frame-Options değeri bu değerle değiştirilir.
TR7'de Nerede Kullanılır
| Nerede | Alan / etiket | Ne için |
|---|---|---|
| Load Balancer → Actions (Policy Actions) → Manage HTTP Security Headers formu | Response Headers → X-Frame-Options ("SAMEORIGIN") | Yalnızca aynı origin'deki sayfaların framing'ine izin verme |
| Load Balancer → Actions (Policy Actions) → Set HTTP Header formu | Set HTTP Header | DENY gibi farklı bir değeri yanıt aşamasında yazma |
Değerler
| Değer | Etkisi | TR7'de |
|---|---|---|
DENY | Sayfa hiçbir iframe içinde gösterilmez | Set HTTP Header ile yazılır |
SAMEORIGIN | Yalnızca aynı origin'deki sayfalar iframe içinde gösterebilir | Manage HTTP Security Headers seçeneğinin sabit değeri |
X-Frame-Options RFC 7034'te tanımlıdır; güncel karşılığı Content-Security-Policy'deki frame-ancestors directive'idir (W3C CSP Level 3). TR7'nin Content-Security-Policy seçeneği frame-ancestors yazmaz (Content-Security-Policy (CSP) nedir?).
Sık Karıştırılan Noktalar
- "X-Frame-Options sayfa içindeki iframe'leri engeller." Header, sayfanın kendisinin başka sayfalarda iframe içinde gösterilmesini denetler; sayfanın gömdüğü iframe'leri etkilemez.
- "Kendi subdomain'lerim sayfayı iframe içinde gösterebilir."
SAMEORIGINyalnızca aynı origin'e izin verir; scheme, domain ya da port farklıysa (subdomain dahil) origin farklıdır. - "Header TR7'nin ürettiği sayfalara da eklenir." Aksiyon yalnızca Kurum Servisinden gelen yanıtlara uygulanır; engelleme ve hata sayfaları bu header'ı almaz.
Dokümantasyonda nasıl yapılır
