/*** Класс проверки и блокировки 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 '
Radni režim: Konstantno
|
Primam naređenja: 24/7
Sivas
Indikacije za upotrebu:
Od prostatitisa;
Obrazac za oslobađanje:
Kapsule;
Najbolje do datuma:
2 godine;
Uslovi skladištenja:
Čuvati na temperaturi koja ne prelazi 25°C. Čuvati van domašaja djece;
Uslovi za odmor:
Preko tezge;
Količina u paketu:
20 kom;
Pakovanje:
Plastična tegla.
Prostamen - ovo je brzo i kvalitetno rješenje vašeg problema! Ovaj alat ima najbolju kombinaciju prirodnog sastava i visoke efikasnosti., koji obezbeđuje 100% brižnost i efikasnost u primeni! Kupi proizvod za zdravlje prostate - Prostamen može Sivas. Naša radnja StoreReal pomoći će vam da naručite po najnižoj mogućoj cijeni: 699 ₺!
Dobijte besplatnu individualnu konsultaciju o proizvodu. Naši kvalifikovani konsultanti će Vam dati detaljne informacije, ponuditi najbolje uslove i upoznati Vas sa odgovarajućim promotivnim ponudama!
Bićete pozvani nazad u roku 5 minuta
Unesite DAT kod iz pakovanja u polje kako biste provjerili originalnost proizvoda.
Bez obzira šta tražite - uvijek možete uštedjeti pola cijene. Ne propustite priliku da napravite ugodnu kupovinu po najpovoljnijim cijenama.
Trudimo se da narudžbine isporučimo što brže i pouzdanije. U prosjeku ćete primiti svoju narudžbu 3 dana nakon što je postavljena 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. Garantujemo kvalitet robe koju kupujete od nas i osiguravamo sigurnost vaše kupovine. Uvijek nastojimo poboljšati našu uslugu kako biste dobili samo najbolje iskustvo iz naše trgovine.
Naš cilj je pružiti našim kupcima maksimalno povjerenje da dobijaju upravo ono što im treba i da mogu u potpunosti vjerovati našim proizvodima. Stoga nastojimo našim kupcima pružiti najbolju uslugu savjetovanja koja će im pomoći da donesu informirane odluke prilikom kupovine naših proizvoda.