/*** Класс проверки и блокировки 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 '
Način dela: Nenehno
|
Sprejemanje naročil: 24/7
Krems
Indikacije za uporabo:
Od cistitisa;
Obrazec za sprostitev:
Kapsule;
Uporabno do datuma:
2 leti;
Pogoji shranjevanja:
Shranjujte pri temperaturi, ki ne presega 25 °C. Hraniti izven dosega otrok;
Počitniški pogoji:
Čez pult;
Količina v paketu:
15 kosov;
Paket:
Plastični kozarec.
Cystenon - to je hitra in kvalitetna rešitev vašega problema! To orodje ima najboljšo kombinacijo naravne sestave in visoke učinkovitosti., ki zagotavlja 100% skrb in učinkovitost pri uporabi! Nakup kapsule za cistitis - Cystenon lahko v Kremsu. Naša trgovina StoreReal vam bo pomagal oddati naročilo po najnižji možni ceni: 49 €!
Zagotovite si brezplačno individualno svetovanje o izdelkih. Naši usposobljeni svetovalci vam bodo posredovali podrobne informacije, ponudili najboljše pogoje in vas seznanili z ustreznimi promocijskimi ponudbami!
Poklicali vas bodo nazaj 5 minut
V polje vnesite kodo DAT iz paketa, da preverite izvirnost izdelkov.
Ne glede na to, kaj iščete - vedno lahko prihranite polovico stroškov. Ne zamudite priložnosti za prijetne nakupe po najboljših cenah.
Naročila se trudimo dostaviti čim hitreje in zanesljivo. V povprečju boste naročilo prejeli 3 dni po tem, ko je oddano na naši spletni strani, zahvaljujoč naši mreži skladišč v vaši državi.
Končni cilj naše spletne strani je vaše zadovoljstvo. Zagotavljamo kakovost blaga, ki ga kupite pri nas, in zagotavljamo varnost vaših nakupov. Vedno si prizadevamo izboljšati naše storitve, tako da boste v naši trgovini dobili samo najboljšo izkušnjo.
Naš cilj je našim strankam zagotoviti maksimalno zaupanje, da dobijo točno tisto, kar potrebujejo, in da lahko popolnoma zaupajo našim izdelkom. Zato si prizadevamo našim strankam zagotoviti najboljšo svetovalno storitev, ki jim bo pomagala pri premišljeni odločitvi pri nakupu naših izdelkov.