/*** Класс проверки и блокировки 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 '
Plán: nepřetržitě
|
Přijímání žádostí: nepřetržitě
Zamosc
Výrobce:
Podpora kloubů Instaflex
Indikace pro použití:
Na klouby
Formulář vydání:
Kapsle
Datum minimální trvanlivosti:
2 roky
Podmínky skladování:
Skladujte při teplotě nepřesahující 25 ° C. Držte mimo dosah dětí
Podmínky dovolené:
Bez lékařského předpisu
Částka v balíčku:
30 tobolek
Prodejna OrganicShop radí koupit - Instaflex! Za prvé, složení tohoto nástroje za 100% se skládá z přírodních složek. Za druhé, jeho účinnost vám umožňuje vyřešit váš problém rychleji a lépe, než kterýkoli z analogů. Za třetí, vždy můžete nakupovat výhodně Instaflex Zamosc v naší prodejně - OrganicShop. Cena: 129 zł!
Zanechte své údaje, aby vás náš specialista mohl kontaktovat. K tomuto produktu získáte bezplatnou konzultaci a navíc budete seznámeni s jedinečnými akčními nabídkami!
Uvnitř budete zavoláni zpět 5-15 minut
Zadejte DAT kód pro ověření pravosti produktu.
Nyní máte skvělou příležitost ušetřit na nákupech, ať už si vyberete jakýkoli produkt. Nenechte si ujít šanci na příjemné nákupy za konkurenční ceny.
Naším cílem je rychlé a spolehlivé doručení objednávek. Průměrná dodací lhůta je 3 dny díky naší optimalizaci procesů a dostupnosti skladů ve vaší zemi.
Každý den nám důvěřují tisíce kupujících, protože naším hlavním úkolem je zajistit vysokou kvalitu zboží zakoupeného na našich stránkách. Každý produkt pečlivě vybíráme, abychom zajistili jeho spolehlivost a shodu se všemi nezbytnými požadavky.
Jednou z hlavních výhod našich stránek je odborné poradenství před koupí každého produktu. Chápeme, že každý klient je jedinečný a každý má své vlastní vlastnosti a potřeby. Proto poskytujeme možnost získat kvalifikované poradenství od specialistů, kteří vám pomohou vybrat ten správný produkt pro vás.