
19.03.2008, 00:13
|
|
Участник форума
Регистрация: 25.05.2007
Сообщений: 290
Провел на форуме: 1740746
Репутация:
435
|
|
Не самая удачная реализация но всеже)
PHP код:
<?
$limit_time = 5; //за какое время сделано $click входов чтобы банить (в секундах)
$ban_time = 20; //на сколько банить
$click = 3; //сколько входов разрешено сделать за $limit_time
$time = strftime("%M:%S", time()); //определяем время
list ($minut,$sekund) = explode(":",$time); //переводим к нужной форме
$ip_navhode = $REMOTE_ADDR; //определяем айпи адресс
session_name("testses");
session_start();
session_register("i"); //храним количество входов
session_register("m"); //храним значение минуты
session_register("s"); //храним значение секунды
//session_register("p"); //храним вспомогательное значение
if ($m==''){$m=$minut;} //если минута не была определена то определяем
if ($s==''){$s=$sekund;} //если секунда не была определена то определяем
if ($i==0) {
$s=$sekund;
$m=$minut;
}
if ($i < $click) //если сделанно входов по проверке меньше максимума то считаем их
{
$p=$i;
$i=@$i+1;
echo "ok!";
}
else //если сделанно входов по проверке больше максимума
{
if ($s<$sekund) {$raznost = ($sekund-$s);} else {$raznost = ($s-$sekund);}
echo $raznost;
$s=$sekund;
$m=$minut;
if ($raznost<$limit_time) { echo '<META HTTP-EQUIV = "Refresh" CONTENT = "0; URL = ban.php">'; $i=0;}
else { if ($p<2){ echo "GO"; $i=0; $p=@$p+1; } else { echo "GO"; $i=2; } }
}
?>
Последний раз редактировалось Flame of Soul; 19.03.2008 в 00:31..
|
|
|