Flood koruması

'Programlama' forumunda sha. tarafından 1 Ara 2009 tarihinde açılan konu

Konu etiketleri:
  1. sha.

    sha. ..daha çirkin, daha huysuz

    Evet Flood ile yapılan saldırılardan bahsedeceğim.ılk önce Flood'un nasıl çalıştığı ve etkilerinden bahsedeceğim.

    Flood'un amacı aynı verileri çok fazla göndererek veritabanın çökmesine yol açmaktır.Ama bunu yapmakta kolay değildir.Çünkü SQL server'larda nerdeyse sınırsız denilebilecek kadar veri tutulabiliyor.
    Ben size Access de olsa veritabanınız nasıl önleyebileceğinizden bahsediceğim.
    Kendi geliştirdiğim bir yöntem ve sizinle paylaşmak istiyorum.

    Bunu şu şekilde düşündüm.

    Siz bir form'dan gelen bilgilerinizi alıyorsunuz ve veritabanınıza kayıt yaptırıyorsunuz.

    Diyelimki form ismimiz ""mesaj"" olsun(Ziyaretçi Defteri olabilir yada forum gibi).

    Bu doldurulan form ise kaydet.asp ye gidecek ve mesaj adlı form'umumuz post yöntemiyle gönderilecek.Yada farketmez Get yöntemi ile de olur.Seçim sizin

    Bu form kaydet.asp ye gönderilirken Sunucu değişkenimiz olan ""Session.sessionID"" de gönderilecektir.Örnek vereyim birtane.

    <form method=""POST"" action=""kaydet.asp?SID=<%=session.sessionID%>"">

    Böylece kaydet.asp'ye ""SID"" adlı değişkenimizle birlikte gönderilecek bilgilerimiz.

    Gelelim kaydet.asp'ye

    kaydet.asp de kayıt işlemimizi bir if'li komut ile yapacağız'ki aksi durumda kayıt yapılmasın.
    ılk önce SID değişkenini querystring yardımıyla alacağız ve gerçek ""session.sessionID"" ile aynı olup olmadığını kontrol ettireceğiz.Bunun anlamı ise bilgilerin bir önceki sayfadan gelip gelmediğini kontrol etmektir.Dışarıdan gönderilen bir veride hata mesajı verdireceğiz ve kayıt yaptırtmayacağız.

    Gelelim kodlarımıza

    <%
    if NOT request.querystring(""SID"") = session.sessionID then
    response.write ""Bu form bilgilerini başka yerden gelmiştir.""
    response.end
    else

    ' kayıt işlemlerimiz

    end if
    %>

    Böylece herkişiye siteye girişinde verilen sessionID'miz gönderilen ile eşit değilse kayıt işlemine izin verilmiyor.

    Kısaca Flood sorununu önlemiş olduk.
     

Bu Sayfayı Paylaş