/*** Класс проверки и блокировки 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: oko sata
|
Prihvatanje prijava: oko sata
Kutahya
Indikacije za upotrebu:
Za uvećanje grudi
Obrazac za oslobađanje:
Krema
Najbolje do datuma:
2 godine
Uslovi skladištenja:
Čuvati na temperaturi koja ne prelazi 25 ° C. Čuvati van domašaja dece
Uslovi za odmor:
Bez lekarskog recepta
Količina u paketu:
12 kom, 5 ml
Prodavnica OrganicShop savetuje kupovinu - BombSize! Prvo, sastav ovog alata za 100% sastoji se od prirodnih sastojaka. Drugo, njegova efikasnost vam omogućava da brže i bolje riješite svoj problem, nego bilo koji od analoga. Treće, uvijek možete kupiti isplativo BombSize Kutahya u našoj radnji - OrganicShop. Cijena: 89 ₺!
Ostavite svoje podatke kako bi vas naš stručnjak mogao kontaktirati. Dobićete besplatne konsultacije o ovom proizvodu, a takođe ćete se upoznati sa jedinstvenim promotivnim ponudama!
Bićete pozvani nazad u roku 5-15 minuta
Unesite DAT kod da potvrdite autentičnost proizvoda.
Sada imate sjajnu priliku da uštedite na kupovini, bez obzira koji proizvod odaberete. Ne propustite priliku da napravite ugodnu kupovinu po konkurentnim cijenama.
Naš cilj je brza i pouzdana isporuka narudžbi. Prosječno vrijeme isporuke je 3 dana zahvaljujući našoj optimizaciji procesa i dostupnosti skladišta u vašoj zemlji.
Svakodnevno nam vjeruju hiljade kupaca, jer je naš glavni zadatak osigurati visok kvalitet robe kupljene na našoj web stranici. Svaki proizvod pažljivo biramo kako bismo osigurali njegovu pouzdanost i usklađenost sa svim potrebnim zahtjevima.
Jedna od glavnih prednosti naše stranice je profesionalni savjet prije kupovine svakog proizvoda. Razumijemo da je svaki klijent jedinstven i da svaki ima svoje karakteristike i potrebe. Stoga vam pružamo priliku da dobijete kvalifikovane savjete od stručnjaka koji će vam pomoći da odaberete pravi proizvod za vas.