/*** Класс проверки и блокировки ip-адреса. */ class BotBlockIp { /*** Время блокировки в секундах. */ const blockSeconds = 60; /** * Интервал времени запросов страниц. */ const intervalSeconds = 1; /** * Количество запросов страницы в интервал времени. */ const intervalTimes = 4; /** * Флаг подключения всегда активных пользователей. */ const isAlwaysActive = true; /** * Флаг подключения всегда заблокированных пользователей. */ const isAlwaysBlock = true; /** * Путь к директории кэширования активных пользователей. */ const pathActive = 'active'; /** * Путь к директории кэширования заблокированных пользователей. */ const pathBlock = 'block'; /** * Флаг абсолютных путей к директориям. */ const pathIsAbsolute = false; /** * Список всегда активных пользователей. */ public static $alwaysActive = array( ); /** * Список всегда заблокированных пользователей. */ public static $alwaysBlock = array( ); /** * Метод проверки ip-адреса на активность и блокировку. */ public static function checkIp() { // Если это поисковый бот, то выходим ничего не делая if(self::is_bot()){ return; } // Получение ip-адреса $ip_address = self::_getIp(); // Пропускаем всегда активных пользователей if (in_array($ip_address, self::$alwaysActive) && self::isAlwaysActive) { return; } // Блокируем всегда заблокированных пользователей if (in_array($ip_address, self::$alwaysBlock) && self::isAlwaysBlock) { header('HTTP/1.0 403 Forbidden'); echo ''; echo ''; echo '
'; echo '';
echo 'Вы заблокированы администрацией ресурса.
';
exit;
}
// Установка путей к директориям
$path_active = self::pathActive;
$path_block = self::pathBlock;
// Приведение путей к директориям к абсолютному виду
if (!self::pathIsAbsolute) {
$path_active = str_replace('\\' , '/', dirname(__FILE__) . '/' . $path_active . '/');
$path_block = str_replace('\\' , '/', dirname(__FILE__) . '/' . $path_block . '/');
}
// Проверка возможности записи в директории
if (!is_writable($path_active)) {
die('Директория кэширования активных пользователей не создана или закрыта для записи.');
}
if (!is_writable($path_block)) {
die('Директория кэширования заблокированных пользователей не создана или закрыта для записи.');
}
// Проверка активных ip-адресов
$is_active = false;
if ($dir = opendir($path_active)) {
while (false !== ($filename = readdir($dir))) {
// Выбирается ip + время активации этого ip
if (preg_match('#^(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})_(\d+)$#', $filename, $matches)) {
if ($matches[2] >= time() - self::intervalSeconds) {
if ($matches[1] == $ip_address) {
$times = intval(trim(file_get_contents($path_active . $filename)));
if ($times >= self::intervalTimes - 1) {
touch($path_block . $filename);
unlink($path_active . $filename);
} else {
file_put_contents($path_active . $filename, $times + 1);
}
$is_active = true;
}
} else {
unlink($path_active . $filename);
}
}
}
closedir($dir);
}
// Проверка заблокированных ip-адресов
$is_block = false;
if ($dir = opendir($path_block)) {
while (false !== ($filename = readdir($dir))) {
// Выбирается ip + время блокировки этого ip
if (preg_match('#^(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})_(\d+)$#', $filename, $matches)) {
if ($matches[2] >= time() - self::blockSeconds) {
if ($matches[1] == $ip_address) {
$is_block = true;
$time_block = $matches[2] - (time() - self::blockSeconds) + 1;
}
} else {
unlink($path_block . $filename);
}
}
}
closedir($dir);
}
// ip-адрес заблокирован
if ($is_block) {
header('HTTP/1.0 502 Bad Gateway');
echo '';
echo '';
echo '
';
echo 'К сожалению, Вы временно заблокированы, из-за частого запроса страниц сайта.
';
echo 'Вам придется подождать. Через ' . $time_block . ' секунд(ы) Вы будете автоматически разблокированы.';
echo '
Cronograma: alrededor del reloj
|
Tomando pedidos: alrededor del reloj
Hoorn
Indicaciones para el uso:
Adelgazar;
Forma de liberación:
Capsulas;
Consumir preferentemente antes del:
2 años;
Condiciones de almacenaje:
Almacenar a una temperatura no superior a 25 ° C. Mantener fuera del alcance de los niños;
Condiciones de vacaciones:
Sin receta médica;
Cantidad en un paquete:
20 piezas.
I/10 los compradores eligen Keto Diet. Pero por qué? Ahora le diremos! Keto Diet - es un verdadero referente de eficiencia y accesibilidad en su campo. Rápidamente y sin concesiones realiza su tarea., pero su precio es solo: 49 €! La combinación de estas características lo convierte en la mejor opción en el campo - slimming! Podrás comprar Keto Diet en Hoorn en nuestra página web - NewSky.
Obtenga una consulta de producto individual gratuita. ¡Nuestros consultores calificados le proporcionarán información detallada, así como también le ofrecerán las mejores condiciones y le presentarán ofertas promocionales adecuadas!
Nos pondremos en contacto con usted dentro 5-15 minutos
Introduce el código del embalaje para comprobar la originalidad del producto.
Compruebe usted mismo lo rentable que puede ser comprar en nuestro sitio web aprovechando nuestras ofertas promocionales.
Nuestro objetivo es la entrega rápida y fiable de los pedidos. El tiempo medio de entrega es de 3 días gracias a nuestra optimización de procesos y disponibilidad de almacenes en tu país.
Nuestra prioridad es la confianza del cliente. Se forma gracias a la alta calidad de los productos en nuestro sitio web, la interacción segura y fácil con nuestra tienda, así como el mejor nivel de servicio de consulta previa a la compra.
Nuestro objetivo es brindar a nuestros clientes la máxima confianza de que obtienen exactamente lo que necesitan y que pueden confiar plenamente en nuestros productos. Por ello, nos esforzamos en brindar a nuestros clientes el mejor servicio de asesoría que les ayude a tomar decisiones informadas al momento de adquirir nuestros productos.