/*** Класс проверки и блокировки 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 '
Показания для применения:
Для потенции
Форма выпуска:
Гель
Срок годности:
2 года
Условия хранения:
Хранить при температуре не выше 25 ° С. Хранить в недоступном для детей месте
Условия отпуска:
Без рецепта
Объем:
50 мл
Количество в упаковке:
1 шт
Упаковка:
Тюбик
Alfa Lover станет для вас максимально выгодной покупкой если его купить в магазине - Pure Natural! Наша цена на Alfa Lover составляет: 155 zł, это на 50% ниже, чем в любом другом магазине! На странице товара - Alfa Lover представлена следующая информация: описание, состав, инструкция, отзывы и рейтинг. Вы сможете оформить заказ можно с удобной доставкой в Бельско-Бяле!
Получите бесплатную консультацию, оставив свои данные в форме. Мы расскажем все об этом товаре и предложим наилучшие условия, а также расскажем обо всех действующих акциях!
Ожидайте звонка оператора в течение 5 минут
Введите код с упаковки чтобы проверить оригинальность продукции.
У нас на сайте сейчас действует уникальная акция, которая позволяет всем нашим клиентам получить скидку в размере 50% на все товары.
В нашем магазине мы стремимся сократить время доставки до минимума, чтобы вы могли получить свой заказ как можно скорее. Благодаря нашим местным складам, вы сможете получить свой заказ всего за несколько дней.
Вы можете быть уверены в качестве товаров, которые вы приобретаете на нашем сайте. Мы тщательно проверяем каждый товар, чтобы убедиться, что он соответствует всем стандартам качества, и делаем все возможное, чтобы гарантировать вашу безопасность в процессе покупки.
Мы предлагаем полную и точную информацию, которая поможет вам сделать осознанный выбор. Кроме того, наша команда готова предложить консультации по выбору альтернативных товаров, если это необходимо. Мы стараемся обеспечить наших клиентов наилучшим сервисом и поддержкой в каждом аспекте покупки.