Django Clickjacking Koruması

0 Yanıt 3 Görüntülenme
Puanlayanlar
Katılımcılar
Konuyu Açan #1
Django Clickjacking Koruması

Django, web uygulamalarını geliştirirken güvenlik konusu her zaman ön planda tutulmalıdır. Bunlardan biri de clickjacking saldırılarına karşı alınacak önlemlerdir. Clickjacking, saldırganların kullanıcıyı fark ettirmeden başka sayfalara tıklamaya zorlamasıdır ve genellikle iframe veya CSS kullanılarak gerçekleştirilir. Bu tehdit karşısında Django, yerleşik olarak birkaç farklı yöntem ve middleware ile koruma sağlar.

İlk ve en yaygın kullanılan yöntem, HTTP response header'larına X-Frame-Options eklemektir. Bu header, başka bir sayfada iframe içerisinde gösterilmesini engeller. Django’da bunu kolayca sağlayan middleware, django.middleware.clickjacking.XFrameOptionsMiddleware'dir. Bu middleware, varsayılan olarak <DENY> veya <SAMEORIGIN> değerleriyle çalışır.
  • <DENY>: Sayfanın hiçbir şekilde başka sayfa tarafından iframe içinde gösterilmesini engeller.
  • <SAMEORIGIN>: Sadece aynı alan adından gelen sayfalar iframe içinde gösterilebilir.


Django projenizde bu korumayı aktif hale getirmek için settings.py dosyanıza şu satırı eklemeniz yeterlidir:
KOD
123456  
MIDDLEWARE = [  
    ...  
    'django.middleware.clickjacking.XFrameOptionsMiddleware',  
    ...  
]  

Ayrıca, belirli sayfalar veya durumlar için farklı ayarlar yapmak gerekebilir. Örneğin, bazı üçüncü taraf içerikleri iframe içinde göstermek isteyebilirsiniz. Bu durumda, ilgili view fonksiyonuna veya sınıfına @xframe_options_exempt dekoratörünü ekleyebilirsiniz.
from django.views.decorators.clickjacking import xframe_options_exempt

@xframe_options_exempt
def my_view(request):
# Bu view, iframe içinde gösterilebilir.
pass


Django’nun sunduğu bu koruma, temel güvenlik önlemi olarak oldukça etkilidir. Ancak, ek olarak Content Security Policy (CSP) kullanımı da önerilir; özellikle frame-ancestors direktifi ile hangi kaynakların iframe içinde gösterilebileceğini detaylı biçimde kontrol etmek mümkündür.

Sonuç olarak, Django’da clickjacking’e karşı alınabilecek önlemler, middleware kullanımı ve HTTP header yapılandırmasıyla kolayca uygulanabilir, ve web uygulamanızın güvenliğini önemli ölçüde artırır.

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi