X-Frame-Options Nedir ve Nasıl Kullanılır?

Webmaster Konuları
X-Frame-Options

X-Frame-Options, web sitesi güvenliği ile ilgili bir HTTP başlığıdır (HTTP Header) ve bir web sayfasının başka bir sayfa içinde <iframe>, <frame>, veya <object> gibi bir çerçevede yüklenip yüklenemeyeceğini kontrol etmek için kullanılır. X-Frame-Options kullanımı sitenizi “clickjacking” adı verilen bir saldırı türüne karşı korumaya yardımcı olur. Clickjacking, bir kullanıcıyı görünmeyen veya aldatıcı bir çerçeveye tıklamaya yönlendirerek zararlı eylemler gerçekleştirmeye çalışır.

X-Frame-Options Nasıl Kullanılır?

X-Frame-Options başlığı, üç farklı değeri destekler:

  1. DENY: Sayfanın hiçbir şekilde başka bir sayfa içinde yüklenmesine izin verilmez. Bu, çerçeveler içinde görünmesini kesinlikle engeller.
    X-Frame-Options: DENY
  2. SAMEORIGIN: Sayfanın yalnızca aynı köken (origin) üzerindeki sayfalar tarafından çerçevelenmesine izin verir. Yani, sayfanız sadece aynı domain’deki diğer sayfalar içinde yüklenebilir.
    X-Frame-Options: SAMEORIGIN
  3. ALLOW-FROM uri: Belirtilen URI’den gelen çerçevelere izin verir. Bu seçenek, belirli bir kaynağa izin verirken diğerlerinden koruma sağlar. Ancak, bu seçenek modern tarayıcılarda genellikle desteklenmez ve yerine Content Security Policy başlığı kullanılmalıdır. Bu yüzden kullanım örneği verilmemiştir.

X-Frame-Options Neden Kullanılmalıdır?

  • Clickjacking Koruması: X-Frame-Options kullanıcıları gizli çerçevelerle aldatmayı zorlaştırarak, clickjacking saldırılarına karşı koruma sağlar.
  • Güvenlik Artışı: Özellikle finansal işlemler, kullanıcı bilgileri veya diğer hassas işlemlerle ilgili sayfalarda, çerçevelerle manipülasyon riskini ortadan kaldırır.

Nasıl Uygulanır?

  1. Web Sunucusu Konfigürasyonu: X-Frame-Options başlığını web sunucunuzda global olarak veya sitenizin htaccess dosyasına bir kod girerek ayarlayabilirsiniz. İşte yaygın web sunucuları için örnekler:
    Apache:Header always set X-Frame-Options "DENY"
    Nginx:add_header X-Frame-Options "DENY";
  2. Uygulama Kodunda Ayarlama: Ayrıca, başlığı dinamik olarak uygulama kodunda da ayarlayabilirsiniz. Örneğin, bir PHP uygulamasında:
    header('X-Frame-Options: DENY');

X-Frame-Options ayarlarını bu yöntemlerden biriyle yaparak web sitenizin başka bir kaynakta çerçeve (iframe) içinde gösterilmesini engellersiniz ve site güvenliğinizi artırmış olursunuz.

X-Frame-Options Nasıl Kontrol Edilir?

Web sitenizde bu özelliği aktif ederek güvenliği artırmak istiyorsanız, önce zaten aktif olup olmadığını kontrol etmenizi tavsiye ederiz. Web sitenizin hosting sağlayısı tarafından sunucu genelinde X-Frame-Options koruması sağlanmış olabilir. Örneğin Domsignal sitesinin X-Frame-Options Header Test sayfasından kontrol edebilirsiniz. Eğer aktif görünmüyorsa, yukarıdaki seçeneklerden birini uygulayabilirsiniz. Web sitenizin iframe içinde gösterilip gösterilmediğini ayrıca Iframe Tester web sitesinde deneyerek görebilirsiniz.