Selam herkese, bildiğiniz gibi dostum olan Tg tayfası sitelerini açtı ve sitelerinde paylaşılan bir makale hoşuma gitti sizinle paylaşıyorum.
"SelamunAleyküm,
Daha önce savsak.com yönetiminin kullandığı site içerisindeki flood yapan kullanıcıları banlama işlemi için yazmış olduğumuz php kodunu sizlerle paylaşıyorum.
$a = (int)date("i");
$ip = $_SERVER['REMOTE_ADDR'];
$exec = mysql_query("insert into tbllog(ip,tarih) values('$ip','$a')");
$z = $a-1;
$q = mysql_query("select * from tbllog where ip='$ip' and tarih >='$z'");
if(mysql_num_rows($q)>=40)
{
$ban = mysql_query("insert into tblbanlist(ip) values('$ip')");
if($ban)
{
header('Location: ban.html');
}
}
$q2 = mysql_query("select * from tblbanlist where ip='$ip'");
if(mysql_num_rows($q2)>=2)
{
header('Location: ban.html');
}
$settime = "00:00";
$gettime = date("h:i");
if($gettime==$settime)
{
$trunlog = mysql_query("truncate table tbllog");
if($trun)
{
header('Location: bakim.html');
}
}
$setday = "15";
$a = date("d");
if($setday==$a)
{
$trunban = mysql_query("truncate table tblbanlist");
if($trunban)
{
header('Location: bakim.html');
}
}
Kodları okuyamayan arkadaşlar için özet olarak site içerisinde herhangi birisi bir dakika içerisinde 40'dan fazla link açıyorsa bu adamı mimlemek gerekiyor, ilk mimleme hamlesinden sonra tekrar bir dakika içerisinde 40'dan fazla hamle yapıyorsa banlamak gerekiyor.Bu kodları config.php dosyanıza koyup veritabanı işlemi yaptığınız her yerde kullanarak php programlama dili ile saldırılardan bir nebze korunabilirsiniz.Her ayın 15'inde ban listesi tamamen temizlenir her gece saat 12'de eğer sitede gezinen varsa log tablosu temizlenir böylece mysql'in şişmesi engellenir...Mantık olarak ayın 15'inde bütün kullanıcılar bakim.html'e yönlendirilir.Bu nedenle kodları istediğiniz zaman çalıştırmak üzere yakın bir zamanda fonksiyonelleştireceğiz.Kodları kullanırken veritabanı içerisinde ,
CREATE TABLE `tblbanlist` (
`id` int(11) NOT NULL auto_increment,
`ip` varchar(50) collate utf8_turkish_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci AUTO_INCREMENT=5 ;
CREATE TABLE `tbllog` (
`id` int(11) NOT NULL auto_increment,
`ip` varchar(50) collate utf8_turkish_ci NOT NULL,
`tarih` varchar(50) collate utf8_turkish_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci AUTO_INCREMENT=80 ;
şu sorguları çalıştırınız.
Yaptıklarımı sadece yaptığım zaman anlayabilirsiniz.
Kaydol:
Kayıt Yorumları (Atom)
0 yorum:
Yorum Gönder