|
|
| |
|

|
Flood koruması |
 |
5257 Görüntülenme |
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.
Herkese Mutlu yıllar...
|
|
|
|
|
|
| |
|
Bu içerik hakkında 8 yorum yapılmış |
|
|
|
|
|
|
| Yorumlar(8) |
Not : Yorumlar zamana göre
son yorumdan ilk yoruma doğru(azalan) biçimde sıralanmıştır. Yorumlarınız site yöneticileri tarafından onaylandıktan sonra eklenecektir. |
|
+ En güzel flood koruması (Yani Site Dışından Gelenler için)
Referer URL kullanımıdır
Örnek : <%
nereden=Request.ServerVariables("HTTP_REFERER")
If not nereden="http://www.orneksite.com/Register.asp" Then
Response.Redirect "http://www.ornek.com/Register.asp"
Response.End
End if
%> |
| Yazan : Fatih KARA | Zaman : 28 Ocak 2007 Pazar, Saat 11:38 |
|
|
+ sonuçta client a gidecek olan veri session id dir.
<form name="hede" kaydet.asp?SID=105151> gibi bir veri gider. ben çok rahatlıkla gelen verideki sid değerini alıp tekrar karşı tarafa yollattırabilirim? |
| Yazan : kıvanc | Zaman : 31 Ağustos 2006 Perşembe, Saat 15:43 |
|
|
+ Merhaba,
Bu flood olayını biraz daha açarmısınız lütfen?yani ben tam olarak bilmiyorum nasıl bir saldırı olacak,sizin session ile atadığınız takdirde nasıl bir engelleme oluyor?ben şu an dosyalarıma ekledim sizin kodunuzu teşekkür ederim. |
| Yazan : Gürkan | Zaman : 17 Eylül 2005 Cumartesi, Saat 02:11 |
|
|
|
|
|
|