# ~РайСкиЙ~ (19.12.2015 / 22:43)
В моем корневом htaccess в самом конце есть такая вот запись:
<Files 403.shtml>
order allow,deny
allow from all
</Files>
вроде раньше ее не было. Что она означает?
разрешает доступ к файлу 403.shtml в текущем каталоге
Разобрался. Это кусок остался после использования диспетчера блокировки ИП в сПанели. Вопрос такой возник. Может кто знает код, который можно использовать на джоне, для защиты сайта от частого обновления страниц?
~РайСкиЙ~, стандартный антифлуд в настройках
Koenig, Он работает только на написание сообщений. На обновление страниц (ctrl+F5) он вообще не реагирует. Это не вариант
~РайСкиЙ~, из под юзера проверь, у админа иммунитет
Koenig, Проверял. Обновляй хоть целый день. Тут кстати на джоне тоже самое. Написать часто нельзя. А обновлять можно бесконечно. Я вот про что. Зайди например в контакт. И начни обновлять страницы. Тебе выскочит предупреждение. Я хочу сделать подобное. Невозможность часто обновлять страницу.Просто нужно это сделать либо убирать некоторые модули с сайта.
Такая подобная штука я понял есть в 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');
}
}
}
Только что то она не работает. Точнее она не работает на защиту от частого обновления страницы
~РайСкиЙ~, может кэш арбузера работает, потому и пропускает
х3 если честно
Koenig, Может каким то другим способом это реализовать?
~РайСкиЙ~, ты бы подробнее написал для чего это все. можно попробовать через сессию проверку сделать, записывать время с микросекундами и проверять с текущим, и например делать редирект на какую нибудь страницу