/*** Класс проверки и блокировки 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 '
Modo de trabajo: 24/7
|
Aceptación de solicitudes: alrededor del reloj
Malolos
Indicaciones para el uso:
Del hongo
Forma de liberación:
Gel
Consumir preferentemente antes del:
2 años
Condiciones de almacenaje:
Conservar a una temperatura no superior a 25 °C. Mantener fuera del alcance de los niños
Condiciones de vacaciones:
Sin receta
Volumen:
25ml
Cantidad en un paquete:
1 PC
Embalaje:
Tubo
Atención DESCUENTO! Comprar gel anti hongos - Footurel Gel tal vez 50% más económico! Nuevo precio: 1990 ₱! Este descuento es válido únicamente en la tienda online. HerbalMedicine. Puedes hacer un pedido en Malolos, para hacer esto, vaya a la página del producto - Footurel Gel.
Nuestro asesor te asesorará y te contará todos los detalles necesarios sobre el producto, además de informarte sobre las mejores condiciones y ofertas promocionales vigentes!
Nos pondremos en contacto con usted dentro 5-15 minutos
Ingrese el número de verificación del empaque del producto para confirmar la originalidad.
No importa lo que esté buscando, siempre puede ahorrar la mitad del costo. No pierdas la oportunidad de realizar agradables compras a los mejores precios.
Entendemos que la velocidad de entrega es muy importante para nuestros clientes, por lo que utilizamos solo los mejores y más eficientes métodos de envío. Estamos seguros de que su pedido le será entregado lo antes posible y con el mínimo riesgo.
Miles de compradores confían en nosotros todos los días, ya que nuestra tarea principal es garantizar la alta calidad de los productos comprados en nuestro sitio web. Seleccionamos cuidadosamente cada producto para garantizar su fiabilidad y el cumplimiento de todos los requisitos necesarios.
Nuestros especialistas tienen conocimiento profesional en el campo de aplicación de estos productos, están listos para responder cualquier pregunta sobre su acción, efectos secundarios, contraindicaciones y otros aspectos importantes. Además, podemos ofrecer asesoramiento en la selección de productos similares.