Php Flood İçin Sağlam Bir Çözüm ??!!
-
çözümü captcha ya dayandırdın. Fakat bu olmadan da engelleyebilirsin. bir kere session mantıgı CURL ile rahatlıkla geçilebilir.inputlara random key koyarsan buda CSRF ile rahatlıkla aşılabilir. Fakat $Ref koyarsan Curl burda işe yaramaz. CSRF ise tık kalır.Kısaca formunu ByPass edemezler.Bu bağlamda Birçok antiflood koydugunu varsiyoruz,session,random key,$ref, captcha vs ...Burda sana flood yapacak kişi profesyonel olması gerekiyor. Bunları bilen adamında senın form sayfanla işi olmaz.
-
Ben programcılık veya PHP, ASP falan bilmiyorum ama..
bence senin işin içine DB yi sokman gerek..
Bir session oluşturursun, bir de random sayı rakam falan oluşturursun
bunları DB ve SAYI ikilisi olarak database de tutarsın..
örneğin birisi senin siteyi ziyaret etti..
bir SESSION değeri ve CAPTCHA oluşturursun
bunları Hemen DB ye insert edersin..
ve bir de DURUM değeri oluşturursun..
şimdi vatandaş bu CAPTCHAYI ilgili yere girecek ye..
Browserden gelen verileri okursun..
Browserden SESSION ve CAPTCA Cevabı gelmeli..
Browserden gelen veriler ile
db dan ilgili session u ve karşısındaki CAPTCHA değerini karşılaştırırsın..
eğer browserden gelen SESSION ve CAPTCHA değeri DB dekiler ile eşitse kullanıcıyı ilgisi sayfaya yönlendirirsin..
Bu arada DURUM değerini de kullanıldı dersin..
SESSION ve CAPTCA değeri DB dekiler ile eşit değilse..
ilk önce durum değerini kullanıldı olarak ayarlarsın..,
sonra yeni bir captca ve session oluşturursun.. ve buna durum değeri kullanılmadı dersin..
ve kullanıcıya yeni CAPTCHA yı sorarsın..
biraz karışık anlattımama, belki yarın bunu algoritmik olarak yazarım buraya..
-
abi gözünüzü seviyim anlamıyrosunuz ya
adamlara fonksiyon çözüdürüp sonucunu bulayım.Grafik verip türevini aldırttraym sorun o değil.
Sorun sayfayı diğer sayfaya taşımak.Bunun için en mantıklısı sessionlar sanırım.Diğer sayfada sessionları silmek.
-
zumsuk bunu yazdı:
-----------------------------
------------------------------konudışı
http://www.r10.net/php/492489-php-ve-matematigin-gucu.html
Algoritma/matematik konusunda meraklılar bir bakmak isteyebilir ...
-
PLuToNiuM bunu yazdı:
-----------------------------
çözümü captcha ya dayandırdın. Fakat bu olmadan da engelleyebilirsin. bir kere session mantıgı CURL ile rahatlıkla geçilebilir.inputlara random key koyarsan buda CSRF ile rahatlıkla aşılabilir. Fakat $Ref koyarsan Curl burda işe yaramaz. CSRF ise tık kalır.Kısaca formunu ByPass edemezler.Bu bağlamda Birçok antiflood koydugunu varsiyoruz,session,random key,$ref, captcha vs ...Burda sana flood yapacak kişi profesyonel olması gerekiyor. Bunları bilen adamında senın form sayfanla işi olmaz.
-----------------------------CSRF hakkında bilgim ve tecrübem yok; ama hemen ufak bir araştırma yaptım. http://www.olympos.org/belgeler/xsrf/csrf-ile-oturum-aldatmacalari-49761.html burada CSRF ile muhtemelen devam eden eden, açık bir SESSION 'da ancak başka bir site (link) üzerinden işlemin gerçekleştğini yazıyor.
Bu durumda senin varsayımın, inputlara random key koyarsan buda CSRF ile rahatlıkla aşılabilir , geçerli değil gibi gözüküyor. Eğer varsayımının,burada yazılanlara göre, geçerli olduğunu düşünüyorsan nasıl geçerli olduğunu, mümkünse bir örnekle (örneğin Tarcan'ın her seferinde random sorduğu soruları nasıl aşabileceğini) açıklayabilir misin?
-
aklıma ne geldi arkadaşlar ;
time();
var bu komutla şöyle yapsak ;
gönderildiği zaman bir sessiona time()+60; desek yani 1 dakika sonrasına atasak.Daha sorna bir kontrolde ;
if ($_SESSION['kontrol']>=time())
desek bu şekilde yapsak bir problem çıkmaz herhalde.Böyle birşey yapıyorumda şimdi.
-
cosmic'in session öldürme yöntemi çok hoşuma gitti.kayit0.php de kuralları kabul et bölümünde form içinde random sayıyı session a atarım ve hidden input ile kayit1.php asıl kayıt formuna yollarım post ile çekerim random sayıyı.eğer random sayı ile session uyuşuyor ise normal kayıt yapar ve session ı öldürür fakat değil ise herhangi bir sayfaya yollarsınız. benim aklıma uyarı sayfası veren 10sn lik bir refresh geldi mesela.captcha ya bile gerek olmaz böylelikle.
