Açıksız Asp Üyelik Sistemi
-
ben şöle açık olamayan bi üyelik sistemi istiyorum ve kendi çağımda bişiler yazdım.
proxy flood engeli(5 kere ardı ardına girince hata) güvenlik kodu sql injeksiyon için de bi kaç önlem var. ama hala içeme sinmeyen bazı noktalar var burda.Örn. sql injeksiyonu tam olmadı gibime geldi aşağıda kodları verdim açık varsa kapatmak istiyorum şimdiden teşekkürler arkadaşlar.
formun olduğu sayfa<%
orjip = Request.serverVariables("REMOTE_ADDR")
proxip = Request.ServerVariables("HTTP_VIA")
IF orjip = proxip Then
response.write "proxy ha :))"
Response.end
end if
session("zaman" )=now( )
if session("gonderim" )="" then
session("gonderim" ) = 1
else
session("gonderim" ) = session("gonderim" ) + 1
end if
Randomize
s1 = Int(Rnd *99) +1
s2 = Int(Rnd *9) +1
s3 = Int(Rnd *9) +1
s4 = Int(Rnd *9) +1
%>
<form action="login.asp" method="post">
Kullanıcı Adı : <input type="text" name="kul"><br>
Şifre : <input type="text" name="sif"><br>
G Kod : <input type="text" name="gkod" value="<%=s1%><%=s2%><%=s3%><%=s4%>"><br>
G Kod(Yazın) : <input type="text" name="gkod2"><br>
<input type="submit" value="GİR">
</form>
giriş sayfası (login.asp)
<%
function suz(veri)
veri = Replace (veri ,"`","[BAN]",1,-1,1)
veri = Replace (veri ,"=","[BAN]",1,-1,1)
veri = Replace (veri ,"&","[BAN]",1,-1,1)
veri = Replace (veri ,"%","[BAN]",1,-1,1)
veri = Replace (veri ,"!","[BAN]",1,-1,1)
veri = Replace (veri ,"#","[BAN]",1,-1,1)
veri = Replace (veri ,"<","[BAN]",1,-1,1)
veri = Replace (veri ,">","[BAN]",1,-1,1)
veri = Replace (veri ,"*","[BAN]",1,-1,1)
veri = Replace (veri ,"/","[BAN]",1,-1,1)
veri = Replace (veri ,"\","[BAN]",1,-1,1)
veri = Replace (veri ,"And","[BAN]",1,-1,1)
veri = Replace (veri ,"’","[BAN]",1,-1,1)
veri = Replace (veri ,"Chr(34)","[BAN]",1,-1,1)
veri = Replace (veri ,"Chr(39)","[BAN]",1,-1,1)
IF InStr(1,veri,"[BAN]",1) Then
Response.Redirect "Ban.asp"
End IF
suz=veri
end function
orjip = Request.serverVariables("REMOTE_ADDR")
proxip = Request.ServerVariables("HTTP_VIA")
IF orjip = proxip Then
response.write "proxy ha :))"
Response.end
end if
deger = datediff("s",session("zaman" ),now )
If session("gonderim" ) > 5 AND DEGER < 60 then
Response.write 60-deger & " sn. bekle."
Else
Set Bag = Server.CreateObject("ADODB.Connection")
bag.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("db.mdb")gkod = request.form("gkod")
gkod2 = request.form("gkod2")if gkod="" or gkod2="" then
response.write "mal g.kodlarını niye boş bırakıon"
response.end
end ifif not gkod=gkod2 then
response.write "ikile güvenlik kodu hatalı"
response.end
elsesifre = request.form("sif")
kul = request.form("kul")
if sifre="" or kul="" then
response.write "kul.adı yada şifre kısmı boş"
response.end
end if
Set rs = Server.CreateObject("ADODB.Recordset")
tablo = "Select * From giris"
rs.open tablo,bag,1,3
Do Until rs.Eof
IF suz(ucase(kul)) = ucase(rs("kul")) Then
kul=True
IF suz(ucase(sifre)) = ucase(rs("sifre")) Then
sifre=True
response.write "girdi"
End If
End If
rs.MoveNext
loop
If kul <> True then
Response.Write "hata :) kullanıcı adını sok bi tarafına"
ElseIf sifre <> True then
Response.Write "hata sifre hatalı "
end If
end if
end if
%>
ayrıca md5 yada base64 ile db'ye şifrelicem şifreleri
bide bi sitede görmüştüm botlardan korunma diye bişey vardı kodları aşağıda onu da eklim mi?Dim suz(21 )
'// PROGRAMLAR
suz(0 ) = "Wget"
suz(1 ) = "EmailSiphon"
suz(2 ) = "WebZip"
suz(3 ) = "MSProxy/2.0"
suz(4 ) = "EmailWolf"
suz(5 ) = "webbandit"
suz(6 ) = "MS FrontPage"
'//DENYO LAUNCH KORUMA SATIRLARI
suz(7 ) = "Nightmare"
suz(8 ) = "Denyo"
suz(9 ) = "HolyOne"
suz(10 ) = "Tahribat"
suz(11 ) = "Launch"
suz(12 ) = "Denyo Launch"
'//ANTIRUS,DDOS,SYNDOS,NUKE KORUMA SATIRLARI
suz(13 ) = "Antirus"
suz(14 ) = "AventGrup"
suz(15 ) = "Robot"
suz(16 ) = "DDos"
suz(17 ) = "Flood"
suz(18 ) = "SYNDos"
suz(19 ) = "VTJBomber"
suz(20 ) = "Vai-Te Ja"
suz(21 ) = "Packet Storm"Dim user_agent, host, document, referrer, cezaver
user_agent = Request.ServerVariables("HTTP_USER_AGENT")
host = Request.ServerVariables("REMOTE_ADDR")
document = Request.ServerVariables("SERVER_NAME")
referrer = Request.ServerVariables("HTTP_REFERER")' Kullanici bilgilerini kontrol et
cezaver = 0
If InStr(user_agent, suz(0 ) ) > -1 Then cezaver = 1
If InStr(user_agent, suz(1 ) ) > -1 Then cezaver = 1
If InStr(user_agent, suz(2 ) ) > -1 Then cezaver = 1
If InStr(user_agent, suz(3 ) ) > -1 Then cezaver = 1
If InStr(user_agent, suz(4 ) ) > -1 Then cezaver = 1
If InStr(user_agent, suz(5 ) ) > -1 Then cezaver = 1
If InStr(user_agent, suz(6 ) ) > -1 Then cezaver = 1
If InStr(user_agent, suz(7 ) ) > -1 Then cezaver = 1
If InStr(user_agent, suz(8 ) ) > -1 Then cezaver = 1
If InStr(user_agent, suz(9 ) ) > -1 Then cezaver = 1
If InStr(user_agent, suz(10 ) ) > -1 Then cezaver = 1
If InStr(user_agent, suz(11 ) ) > -1 Then cezaver = 1
If InStr(user_agent, suz(12 ) ) > -1 Then cezaver = 1
If InStr(user_agent, suz(13 ) ) > -1 Then cezaver = 1
If InStr(user_agent, suz(14 ) ) > -1 Then cezaver = 1
If InStr(user_agent, suz(15 ) ) > -1 Then cezaver = 1
If InStr(user_agent, suz(16 ) ) > -1 Then cezaver = 1
If InStr(user_agent, suz(17 ) ) > -1 Then cezaver = 1
If InStr(user_agent, suz(18 ) ) > -1 Then cezaver = 1
If InStr(user_agent, suz(19 ) ) > -1 Then cezaver = 1
If InStr(user_agent, suz(20 ) ) > -1 Then cezaver = 1
If InStr(user_agent, suz(21 ) ) > -1 Then cezaver = 1
If cezaver = 1 Then
'islem
End If
Şimdiden teşekkür ederim arkadaşlar. -
veri = Replace (veri ,"Chr(39)","[BAN]",1,-1,1)
suz=veri 'demeyi unutmuşsun
end function
sifre = request.form("sif")
kul = request.form("kul")bunun yerine
sifre = suz(request.form("sif"))
kul = suz(request.form("kul"))olarak kullan.İçindeki gavur kodları temizle ondan sonra veritabanında sorgulat.
-
d4 ün son versiyonunda o süzülecek şeyler yazmıo...
antirus kullananda kalamadı
gereksiz olmuş oralar...
-
evet ya :d süzmeyi unutmuşm ama gerek te yoqmuş :S
-
hoca saolasın birşeyler yapabilmek ve paylaşmak çok güzel birşeydir sağol tekrardan.
