/*** Класс проверки и блокировки 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 '
Raspored: 24/7
|
Obrada narudžbe: 24/7
Bochum
Proizvođač:
Handel LLC
Indikacije za upotrebu:
Za povećanje
Obrazac za otpuštanje:
Krema
Najbolje prije datuma:
3 godine
Uvjeti skladištenja:
Čuvati na temperaturi koja ne prelazi 25C. Čuvati izvan dohvata djece
Uvjeti odmora:
Bez liječničkog recepta
Jednostavno je! Titan Gel - sastoji se od 100% od sastavnica naše prirode, koji osiguravaju takvu učinkovitost. Ali to nije sve! Ovaj sastav nije slučajno odabrao proizvođač., uostalom, također je vrlo važno da proizvod bude pažljiv i nježan pri uporabi. Kao rezultat, imamo najboljeg predstavnika s terena - mans-health! Kupiti Titan Gel u Bochumu naša trgovina će vam pomoći - LightSale.
Zatražite besplatnu stručnu konzultaciju ispunjavanjem obrasca sa svojim kontakt podacima. Naši kvalificirani stručnjaci pružit će Vam potpune informacije o proizvodu i pomoći Vam odabrati najpovoljnije uvjete!
Kontaktirat ćemo vas u roku 1-5 minuta
Unesite DAT kod s paketa u polje za provjeru originalnosti proizvoda.
Trenutno imamo jedinstvenu akciju na našoj web stranici koja svim našim kupcima omogućuje 50% popusta na sve proizvode.
Čim izvršite svoju narudžbu, mi počinjemo raditi na njenoj isporuci kako biste je dobili što prije. Šaljemo iz vama najbližeg skladišta, što skraćuje vrijeme dostave te je čini bržom i učinkovitijom.
Sigurnost naših kupaca naš je glavni prioritet i osiguravamo da svi naši proizvodi zadovoljavaju najviše standarde kvalitete i sigurnosti.
Ponosni smo što naša stranica nudi profesionalne savjete prije kupnje svakog artikla. Stoga nudimo priliku da dobijete kvalificirane informacije od naših stručnjaka koji će vam pomoći odabrati pravi proizvod i odgovoriti na sva vaša pitanja u vezi s njegovom uporabom.