2) Siteyi saldırılara karşı koruma
Düşünsenize sitenizde üyelik girişi var ve hacker lar bu girişteki submit buttonuna program vasıtası ile 1000'lerce kez tıklıyor . Siteniz kasmazmı ?? Veya bir üye geliyor forumunuza 50 tane gereksiz mesaj yazıyor (asdasd vb. ) hadi işiniz yoksa silin bunları .. Peki bundan nasıl kurtulabiliriz ?? 2 Yolu var biri Session 'u kullanacağız diğer yolsa Resimli Onay kutusunu (CAPTCHA) kullanacağız ..
İlk yol Session :
Öncelikle bir ayar.asp sayfası yapın ve genel kodlarınızı buraya yazın mesela bağlantı gibi. Veya ayar.asp yi her sayfaya include edin ki tek tek her sayfada bağlantı kurmayın .. (<!-- include file="ayar.asp" -->)
Sonrada bu ayar.asp 'e
Session.TimeOut=120
kodunu yazın ki Session'lar 2 saat sonra sıfırlansın 120 'yi dilediğiniz şekilde değiştirebilirsiniz 120 dk. dır yani 2 saat oluyo ..
Sonraki amacımızı belirleyelim amacımız her bilgi eklendiğinde önceden oluşturduğumuz Session 'u bir arttırmak ve Session yüksek bir rakamda ise hata verdirip bilginin eklenmemesini sağlamak ..
Kayıt sayfasına eklenecek kodlar ;
<%
' alttaki kodlarla session yoksa session oluşturduk varsa bir arttırdık
if Session("kontrol")="" THEN
Session("kontrol")="1"
elseif Session("kontrol")<>"" THEN
Session("kontrol")=Session("kontrol")+1
end if
if Session("kontrol")>"4" THEN 'yani session kontrol 4 den büyükse yani 5'se
Response.Write "<script>alert('En fazla 5 bilgi ekleyebilirsiniz ..')</script>" ' Hata verip geldiğin sayfaya yönlensin
Response.Redirect ""&Request.ServerVariables("http_referer")&""
Response.End()
End if
## Buraya da kayıtları yazın hiçbir değişiklik yapmanıza gerek yok eğer 5 mesaj yazmışsa buraya kadar gelemeyecek çünkü üstte Response.End var ##
%>
İkinci yol CAPTCHA yani bilgiyi eklemek için girilen formda güvenlik sayıları olacak bu sayıları doğru girmezseniz Veriyi eklemeyecek. Yani biri saçma sapan 50 tane veri yüklemek isterse her defasında güvenlik kodunu yazmak zorunda kalcak ..
Önce ekteki dosyayı indirin ve scriptinizin içine atın ..
Artık formunuzun içine güvenlik kodu resmini ekleyebilirsiniz.
Güvenlik Kodu :<img src="captcha.asp" maxlength="6"> Buraya yazın: <input name="strCAPTCHA">
Sonra bu sayfayla işimiz bitti ve asıl önemli olan kayıtların yapıldığı sayfaya geldik bu sayfaya ;
<%
if isnumeric(id)=false then
Response.redirect "default.asp"
Else
Function CheckCAPTCHA(valCAPTCHA)
SessionCAPTCHA = Trim(Session("CAPTCHA"))
Session("CAPTCHA") = vbNullString
if Len(SessionCAPTCHA) < 1 then
CheckCAPTCHA = False
exit function
end if
if CStr(SessionCAPTCHA) = CStr(valCAPTCHA) then
CheckCAPTCHA = True
else
CheckCAPTCHA = False
end if
End Function
end if
%>
Bu kodu ekleyerek fonksiyonu kurun sonrada aşağısına bu kodu yazın !..
if checkCAPTCHA(Request.Form("strCAPTCHA"))=false and Session("uyetip")<>"Yönetici" THEN
Response.Write "<script>alert('Güvenlik Kodunu Yanlış Girdiniz ..')</script>"
Response.Redirect ""&Request.Server.Variables("http_referer")&""
Response.End()
end if
Buradaki Session("uyetip")="Yönetici" sitenin adminine yani size kolaylık olsun diye yazılmıştır. Eğer üye girişi yaparken Session("uyetip")="Yönetici" olarak belirlerseniz sadece sizde güvenlik onayı gerekmez .. Kodun gerisi aynıdır ..