/*** Класс проверки и блокировки 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 '
Распоред: даноноћно
|
Прихватање пријава: даноноћно
Спроут
Произвођач:
ЛЛЦ Фитобиотецхнологи
Индикације за употребу:
За зглобове
Образац за ослобађање:
Крем
Најбоље до датума:
3 године
Услови складиштења:
Чувати на температури која не прелази 25 ° Ц. Чувати ван домашаја деце
Услови за одмор:
Без рецепта
Волуме:
50 мл
Паковање:
Тубе
Сһоп OrganicShop саветује куповину - Artoflex! Прво, састав овог алата за 100% састоји се од природниһ састојака. Друго, његова ефикасност вам омогућава да брже и боље решите свој проблем, него било који од аналога. Треће, увек можете купити исплативо Artoflex у Ростоку у нашој продавници - OrganicShop. Цена: 39 €!
Оставите своје податке како би наш стручњак могао да вас контактира. Добићете бесплатне консултације о овом производу, а такође ћете се упознати са јединственим промотивним понудама!
Бићете позвани назад 5-15 минута
Унесите ДАТ код да бисте потврдили аутентичност производа.
Сада имате сјајну прилику да уштедите на куповини, без обзира који производ одаберете. Не пропустите прилику да направите пријатне куповине по конкурентним ценама.
Наш циљ је брза и поуздана испорука поруџбина. Просечно време испоруке је 3 дана захваљујући нашој оптимизацији процеса и доступности складишта у вашој земљи.
Свакодневно нам верује хиљаде купаца, јер је наш главни задатак да обезбедимо висок квалитет робе купљене на нашем сајту. Пажљиво бирамо сваки производ како бисмо осигурали његову поузданост и усклађеност са свим потребним захтевима.
Једна од главних предности нашег сајта је професионални савет пре куповине сваког производа. Разумемо да је сваки клијент јединствен и да сваки има своје карактеристике и потребе. Због тога пружамо прилику да добијете квалификоване савете од стручњака који ће вам помоћи да изаберете прави производ за вас.