Php'de Session ile flood koruma kodu yazabilirmisiniz arkadaşlar...
mesela burada asp ile yapılmış...
http://yeni.gameower.de/
5 sefer f5 yapınca yada bir link tıklanınca google'a yönlendirmişler..
phpde bu sistem nasıl yapılır acaba..?
Php'de Session ile flood koruma
5
●4.680
- 10-01-2010, 10:05:04
<?php session_start(); //www.forumistik.com //sessiona son kaydettiğimiz zaman değeri 10 saniyeyi geçmemiş ise işlem yapma... if(@$_SESSION['kontrolzamani'] + 10 > time()) { $kalanzaman=$_SESSION['kontrolzamani']-time()+10; //eğer 10 saniye den önce tekrar işlem yapmak ister ise uyarı verelim echo 'İşlem yapmak için '.$kalanzaman.' saniye beklemelisiniz!'; exit; } else { //10 saniyeyi geçmiş ise işlem yapabiliriz artık // işlem yapacağımız kodları buraya yazabilirsiniz... echo 'işlem yapıldı! '; //son olarak eğer işlem yapıldı ise belirlediğimiz sessiona zamanımızı kaydediyoruz! $_SESSION['kontrolzamani'] = time(); } ?>http://www.forumistik.com/forum/k573...rol-yapma.html - 10-01-2010, 10:14:49Üyeliği durdurulducurl ile saldirildiginda hiç bir işe yaramaz. yada benzer session yada cookie yi tutmayan kod kullanildiginda
- 10-01-2010, 14:12:35Aventgrup'un bir flood koruma modülü vardı.
<?/////////////////////////////////// AYARLAR /////////////////////////////////////////////// $zasimi = 1; //Bağlantı Kabul edilecek Süre Aralığı ( saniye ) $proxyyasak = "e"; //Proxy Girişleri Yasaklansınmı ? ( e | h olarak girilmeli ) $myenile = 3; //Modül çıktığında Sayfayı Yenileme Süresi ( saniye ) $yonlendirme = "?"; //Modül Çıktıktan Sonra Yönlendirilecek Sayfa ( ? aynı sayfa ) ///////////////////////////////////////////////////////////////////////////////////////////// # Kullanım Kılavuzu ; Yazılımın Kullanımı oldukça basittir. guvenlik.php bir kök dosyadır ve # tüm sayfalarınıza include edilmiş olmalıdır. Çalıştırılabilir bütün sayfalarınızın en üst # satırına include "guvenlik.php"; şeklinde ekleyerek modülü devreye sokabilirsiniz. # # PHPNuke, phpBB, Vbullettin gibi hazır portallarda kullanımı için Kilit ayar dosyanızın # "config.php gibi" en üst satırına include "guvenlik.php"; yazarakta bütün sayfalarda # kullanılabilir olmasını sağlayabilirsiniz. # # Modülün IP Adreslerini ve giriş sürelerini tuttuğu dosya adı "yasak.txt" dir. Bu dosyayıda # FTP ile web alanınıza yüklemeniz gerekir. Yükledikten sonra "Attribute" değerini 777 yapmalı, # alt dizin ve klasörlerde modül çalıştırılacak ise o bölümlerede kopyalamalısınız. # # ______________________________________________________ # # Avrasya Veri ve NetWork Teknolojileri Geliştirme Grubu # AventGrup 1999-2005 # www.aventgrup.net # info@aventgrup.net # ______________________________________________________ # ///////////////////////////////////////////////////////////////////////////////////////////?> <?if ($proxyyasak == "e" and $HTTP_VIA >""){?> <body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0" bgcolor="#E0E0E0"> <p><br> <br> <br> <br> </p> <table border="0" style="border-collapse: collapse" width="100%" cellpadding="0" height="110"> <tr> <td bgcolor="BLACK"> <div align="center"> <table border="0" width="336" id="table1" cellspacing="0" cellpadding="0" height="66"> <tr> <td valign="center"> <p align="center"> <font face="Verdana" style="font-size: 10pt; font-weight: 700" color="#DBDBDB"> Güvenlik Modülü !</font><font face="Verdana" style="font-weight: 700" color="#C0C0C0" size="2"><br> </font> <font face="Verdana" style="font-size: 9pt; font-weight: 700" color="#C0C0C0"> <br> </font> <font face="Arial" style="font-size: 8pt; " color="#C0C0C0"> Proxy Girişleri Yasaklıdır.</font></td> </tr> </table> </div> <?exit;};?> <? $dakika=date("i"); $saniye=date("s"); $adres=$REMOTE_ADDR; $dosya="yasak.txt"; $hoptiri=fopen($dosya,'r'); $oku=fgets($hoptiri,100000); fclose($hoptiri); $sira=explode(">",$oku); $sappa=$sira[0]+1; $ziplat=explode(";",$sira[1]); for ($i=0;$i<50;$i++){ $ayikla=explode("|",$ziplat[$i]); if ($HTTP_VIA > ""){$kaynak=$HTTP_X_FORWARDED_FOR;}else{$kaynak=$REMOTE_ADDR;}; if ($kaynak==$ayikla[0] and date("i")==$ayikla[1] and date("s")<$ayikla[2]+$zasimi){ $ziplat[$i]= "$adres|$dakika|$saniye"; ?> <head> <meta http-equiv="Content-Language" content="tr"> <meta http-equiv="Refresh" content="<?echo $myenile;?>; url=<?echo $yonlendirme;?>"> <title>Güvenlik Modülü</title> </head> <body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0" bgcolor="#E0E0E0"> <p><br> <br> <br> <br> </p> <table border="0" style="border-collapse: collapse" width="100%" cellpadding="0" height="110"> <tr> <td bgcolor="BLACK"> <div align="center"> <table border="0" width="336" id="table1" cellspacing="0" cellpadding="0" height="66"> <tr> <td valign="top"> <p align="center"> <font face="Verdana" style="font-size: 10pt; font-weight: 700" color="#DBDBDB"> Güvenlik Modülü !</font><font face="Verdana" style="font-weight: 700" color="#C0C0C0" size="2"><br> </font> <font face="Verdana" style="font-size: 9pt; font-weight: 700" color="#C0C0C0"> <br> </font> <font face="Arial" style="font-size: 8pt" color="#C0C0C0"> Girişiniz Askıya Alındı.<br> Lütfen Bekleyin.</font></td> </tr> </table> </div> <? for ($e=0;$e<50;$e++){$yazilacakveri= "$yazilacakveri;$ziplat[$e]";}; $oyt=fopen($dosya,'w'); $yazilacakveri="$sira[0]>$yazilacakveri"; fputs($oyt,"$yazilacakveri"); fclose($oyt); exit; };}; $ziplat[$sappa]="$adres|$dakika|$saniye"; for ($e=1;$e<50;$e++){$yazilacakveri= "$yazilacakveri;$ziplat[$e]";}; if ($sappa>50){$sappa=1;}; $yazgec="$sappa>$yazilacakveri"; $oyt=fopen($dosya,'w'); fputs($oyt,$yazgec); fclose($oyt); ?>Kullanımı:
<? include "guvenlik.php"; ?>
İstediğiniz php sayfaya ekleyebilirsiniz. - 10-01-2010, 16:49:08bu kod çalıştı çok çok teşekkürler fakat bu kodda şunu yapabilirmiyiz...FaTe adlı üyeden alıntı: mesajı görüntüle
mesela ben bunu index.php içine ekliyorum...
10 sefer f5 yapınca yani index.php yi aynı session 10 sefer tıklayınca baska siteye mesela google.com'a yönlendirsin istiyorum... - 11-01-2010, 09:51:37Bu kod F5 yapma sayısından ziyade , 10 saniye yada belirleyeceğiniz saniyede tekrar sayfa açılırsa uyarı veriyor.Bu uyarı verilen yere yönlendirme ekleyebilirsiniz tabiki;
verdiğim koddaki
echo 'İşlem yapmak için '.$kalanzaman.' saniye beklemelisiniz!';
yerine
header('Location:http://www.google.com');
yazarak google a yönlendirebilirsiniz.