Aspde Bir Sorun ?
-
şimdi ben şöle bir kod istiyorum eğer xxxxx ip saniyede sayfayı 4 kez yeniler ise cookie değeri4 olsun ve 15 dakika siteye giremesin boyle bi kod verebilirmisiniz acil şimdiden teskkur
-
her sayfa yenileyişte dbye update yapabilirsin
floodkoruma adında bi table olsun
ip | nezamanadında iki sutun olsun.
yenilenen sayfadaipadresi = request.ServerVariables("Remote_addr")
set db = server.createobject("adodb.connection")
'db bağlantısı
set rs = server.createobject("adodb.recordset")
sql = "SELECT * from floodkoruma"
rs.open sql, db, 1, 3
rs.addnew
rs("ip") = ipadresi
rs("nezaman") = now()
rs.updateşeklinde kaydet
altında da
set rs = server.createobject("adodb.recordset")
sql = "SELECT * from floodkoruma where datediff(n, nezaman, now()) <= 1 and ip = "& ipadresi &""
rs.open sql, db, 1, 3
if rs.recordcount >= 4 then
response.write "siteye girişiniz 15 dakika engellendi"
session("xxx") = 4
session("engellenmezamani")=now()
end if
sayfanın en başına da
if datediff("n", session("engellenmezamani"), now()) <= 15 then
response.write "engellisiniz"
response.end
end if
diye bişe yazarsan olur.. bu arada bi çırpıda yazdım kodları hata olursa düzeltiriz. bi de now() deyimini sql içinde kullandım ama access kullanıyorsundur diye düşündüm, sql server kullanıyosun getdate() yaparsın onu. -
hocam o zaman adam siteye 4 kez girebilir yanılmıyosam
-
muhtemelen flood engelleyeceksin eğer küçük çapta floodları engellemek istiyorsan alp hocamın verdiğini kullanabilirsin ama denyoyla dalan ya da f5 manyağı biri için session, cookie, db kontrol hiç bir halta yaramaz. denyo her postta session değiştiriyor. verdiğin değerler uçuyor. yemiyor. cookieler zaten her browserda kapatılabiliyor. 10 dk boyunca flood atan birini db ile durdurmaya kalksan kodlamana göre ya bu + 5 dakka kilitlenme ya da sitenin çökmesiyle son bulacaktır. Sayfaya yapılan her türlü saldırıyı korumak için çeşitli sağlam yöntemler var ama işin içine denyo girdiği için ağzımı kapatıyorum banlanmayı istemem :| :D
-
hocam pardon ben onu dakikada 4 kez yenilerse diye anladım. saniye istiyosan o datediff deyimindeki n yerine s yaz
tabii ki 4 kez girebilir, daha doğrusu 3 kez girer 4'te engellenir. Ama zaten girdiği için engelleniyo ya :) adamın engellenmesi için siteye girmesi gerekmez mi? Yoksa yanlış mı anladım seni? -
zombie doğru söylüyo, ben senin istediğin tarzda bişi yazdım ama session'ları da dağıtan bi denyo var.. captcha kullanmayı deneyebilirsin sanırım.
-
pesimistzombie bunu yazdı:
-----------------------------muhtemelen flood engelleyeceksin eğer küçük çapta floodları engellemek istiyorsan alp hocamın verdiğini kullanabilirsin ama denyoyla dalan ya da f5 manyağı biri için session, cookie, db kontrol hiç bir halta yaramaz. denyo her postta session değiştiriyor. verdiğin değerler uçuyor. yemiyor. cookieler zaten her browserda kapatılabiliyor. 10 dk boyunca flood atan birini db ile durdurmaya kalksan kodlamana göre ya bu + 5 dakka kilitlenme ya da sitenin çökmesiyle son bulacaktır. Sayfaya yapılan her türlü saldırıyı korumak için çeşitli sağlam yöntemler var ama işin içine denyo girdiği için ağzımı kapatıyorum banlanmayı istemem :| :D
-----------------------------
bizde cookie kullanayız dbye kayıt ederiz hocam ole olmazmı ipyi dbye kayıt edriz<%
if rs("ip")=request.ServerVariables("Remote_addr") then
response.write= "engellendiniz"
end if
Response.end()
%>
gibisinden en basid sekilde yapdım bu sekil olur galba deme
-
alp hocamın verdiği zaten db ye kayıt edip kontrol etme/engelleme ona benzer scriptleride aspindirde bulabilirsin zaten ancak sonuçta senin sitene yapılan atak sonucu sitenin donması yavaşlaması tamamen db ile alakalı. E sen gene db ye kayıt ettirip kontrol ediyorsun değişen sadece yarı yarıya kasma azaltma olacak ya da küçük çaplı sinekleri durdurmaya yarayacak. Eğer başında büyük bela varsa daha farklı şeylere yönelmen lazım. Aksi halde bu yeterli olacaktır zaten sana
-
yaw şimdi ben bizim okul sitesini yazdım işte haber duyuru foto galari anket sisgtemi falan yazdım güzel bi flood engellicem ondan sql enjeksiyon xss onları ayarladım ama flooduda yapmaya calısıorum
-
db ile hallet o zaman ataberk ddos engelleyici script vs var direk onu kullanabilirsin kodlarla uğraşmana gerek kalmaz. aspindirden bulabilirsin veya mantığını sökmeye çalışmak istersen alp hocamın kodlarını kullan. Tavsiyem bu iş için başka bir db kullan ve bu koruman asıl sistem kodlarının en tepesinde olsunki bi işe yarasın.
