Harmankaya Logo

Çoklu Girişte IP Ban PHP

EYL 19

Saat: 15:14:18 Gösterim: 605
Merhaba gönül dostları (böhüü)

PHP syfalarınız için basit bir güvenlik modülüdür. 5 den fazla hatalı girişte 30 dakikalık IP ban koyar ve 30 dakika sonra eğer doğru giriş yaparsa karalisteden o IP yi temizler.

Hadi başlayalım.

Bir tablo oluşturalım

CREATE TABLE `ipguvenlik` (
`id` int(10) unsigned NOT NULL auto_increment,
`userid` text,
`ttime` int(10) default NULL,
`userip` text,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`),
KEY `id_2` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=146 ;



ve giren IP leri yazdırralım.


$giris_zaman = time();// zamanı alalım
#giriş yapılamadığı her deneme için ayrı ayrı ekleme yapıyoruz tabloya
$guvo = "insert into ipguvenlik (userid , ttime, userip) values ( '$login','$giris_zaman','$REMOTE_ADDR')";

mysql_query($guvo);


Şimdi geldi kontrolü 3 gün boyunca düşündüm nasıl bir kontrol yapsam diye ve sonunda boyle bir algoritma çıkarttım.

$giris_zaman = time();
$tlimit = 10*60; //saniye
$limstamp = time() - $tlimit;
$z = "SELECT * FROM ipguvenlik where userip = '$REMOTE_ADDR' and ttime > '$limstamp'";
$qsonuc = mysql_query($z);
$giris_sayisi=mysql_num_rows($qsonuc);
if (mysql_num_rows($qsonuc) > 4)
{
Header("Location: banned.php");
}else{
giriş yap koduları burada

}

Erhan

Detaylı BilgiArkadaşına GönderYazıcıya Aktar


İM'le

Yorumlar( 0 )

Yorum Gönder


Yazıya ait Yorum bulunamadı.

Blog Kategori

Son YAZILAR

sON YORUMLAR

Sponsor Reklamlar


Blogging Blogs - BlogCatalog Blog Directory
Personal blogs
Listed in LS Blogs the Blog Directory and Blog Search Engine
Bloggapedia, Blog Directory - Find It!
Blog Directory - photarium
Firefox 2

Hukuk Bürosu
Egenin Kalbi