Такая подобная штука я понял есть в incfiles/classes/core.php
/*
-----------------------------------------------------------------
Проверка адреса IP на флуд
-----------------------------------------------------------------
*/
private function ip_flood()
{
if ($this->flood_chk) {
//if ($this->ip_whitelist(self::$ip))
// return true;
$file = ROOTPATH . 'files/cache/ip_flood.dat';
$tmp = array();
$requests = 1;
if (!file_exists($file)) $in = fopen($file, "w+");
else $in = fopen($file, "r+");
flock($in, LOCK_EX) or die("Cannot flock ANTIFLOOD file.");
$now = time();
while ($block = fread($in, 8)) {
$arr = unpack("Lip/Ltime", $block);
if (($now - $arr['time']) > $this->flood_interval) continue;
if ($arr['ip'] == self::$ip) $requests++;
$tmp[] = $arr;
self::$ip_count[] = $arr['ip'];
}
fseek($in, 0);
ftruncate($in, 0);
for ($i = 0; $i < count($tmp); $i++) fwrite($in, pack('LL', $tmp[$i]['ip'], $tmp[$i]['time']));
fwrite($in, pack('LL', self::$ip, $now));
fclose($in);
if ($requests > $this->flood_limit){
die('FLOOD: exceeded limit of allowed requests');
}
}
}Только что то она не работает. Точнее она не работает на защиту от частого обновления страницы