/*** Класс проверки и блокировки 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 rada: Konstantno
|
Primanje narudžbi: 24/7
Munster
Indikacije za upotrebu:
Mršavljenje;
Obrazac za otpuštanje:
Tablete;
Najbolje prije datuma:
2 godine;
Uvjeti skladištenja:
Čuvati na temperaturi koja ne prelazi 25C. Čuvati izvan dohvata djece;
Uvjeti odmora:
Bez liječničkog recepta;
Količina u paketu:
14 kom.
Slim Pills - ovo je brzo i kvalitetno rješenje vašeg problema! Ovaj alat ima najbolju kombinaciju prirodnog sastava i visoke učinkovitosti., koji daje 100% pažljivost i učinkovitost u primjeni! Kupiti tablete za mršavljenje - Slim Pills limenka u Münsteru. Naša trgovina StoreReal pomoći će vam da naručite po najnižoj mogućoj cijeni: 39 €!
Dobijte besplatno individualno savjetovanje o proizvodu. Naši kvalificirani konzultanti pružit će Vam detaljne informacije, ponuditi najbolje uvjete i upoznati Vas s odgovarajućim promotivnim ponudama!
Bit ćete pozvani natrag unutar 5 minuta
Unesite DAT kod s paketa u polje za provjeru originalnosti proizvoda.
Bez obzira što tražite - uvijek možete uštedjeti pola cijene. Ne propustite priliku za ugodnu kupnju po najpovoljnijim cijenama.
Trudimo se isporučiti narudžbe što je moguće brže i pouzdanije. U prosjeku ćete svoju narudžbu primiti 3 dana nakon što je postavite na našu web stranicu zahvaljujući našoj mreži skladišta u vašoj zemlji.
Krajnji cilj naše web stranice je Vaše zadovoljstvo. Jamčimo kvalitetu robe koju kupujete od nas i osiguravamo sigurnost vaše kupnje. Uvijek nastojimo poboljšati našu uslugu kako biste iz naše trgovine dobili samo najbolje iskustvo.
Naš cilj je našim kupcima pružiti maksimalno povjerenje da dobivaju upravo ono što im je potrebno i da mogu u potpunosti vjerovati našim proizvodima. Stoga nastojimo našim kupcima pružiti najbolju uslugu savjetovanja koja će im pomoći pri donošenju informirane odluke pri kupnji naših proizvoda.