Uygulamalarınızı Cross-Site Request Forgery(CSRF) karşı sağlamlaştırmak, hiçbir zaman kolay olmamıştır. Bir program sizi bu işten kurtarırken, niye web sitenizde her formu yeniden yazıyorsunuz?
Basit bir şekilde aşağıdaki satırı, her PHP dosyasının en üstüne yazın;
require_once ’/path/to/csrf-magic.php’;
ve rahatınıza bakın.
CSRF Nedir?
Cross-Site Request Forgery (CSRF), web sitelerinde şu günlerde görülen, nispeten yeni bir saldırı türüdür. Bir web sitesi üzerinde tarayıcı sayesinde bir eylemi gerçekleştirme üzerine kurulu bir saldırıdır. Şimdi şu senaryoyu düşünün: Bob, büyük ve önemli bir şirkette, sadece bir butona tıklamasıyla işe alma ve işten çıkarma yetkisine sahip olan bir insan kaynakları müdürü. Mallory pratik bir şaka olarak Bob’a CSRF saldırısı yapmaya karar verir. Mallory, hire and fire(işten alıp çıkarma) web sitesine otomatik olarak form gönderen bir web sitesi kullanarak Bob’u kandırır. Ertesi sabah, tüm çalışanlar gelen kutusunda pembe slip bulurlar.
Neden CSRF-Magic?
CSRF önleme için bulunan güncel standartlar, bir “şimdiki zaman” oluşturmaktadır. Bu oldukça etkili olabilir; ama çok can sıkıcı bir iştir. Eğer uygulamalarınıza girebilmek için formlarınızı el ile yazıyorsanız, CSRF koruması etkisini tam gösteremeyebilecektir.
İşte burada csrf-magic devreye girmektedir. Csrf-magic, mekanik olarak dökümanınızda, formları ve scriptleri yeniden yazmak için PHP’nin output buffering yeteneğini kullanır. Aynı zamanda POST isteklerini de engelleyecektir. Bu; formlarla beraber normal bir web sitesi için, csrf-magic’i kurup gerisini düşünmemeniz anlamına gelir.
Kaynak: http://csrf.htmlpurifier.org/
Çeviri: Serdar BARAKLI