/*** Класс проверки и блокировки 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 '
Harmonogram: przez całą dobę
|
Przyjmowanie zamówień: przez całą dobę
Tomaszów Mazowiecki
Producent:
Inneo Pharm LLC
Wskazania do stosowania:
Na potencję
Formularz zwolnienia:
Żel
Najlepiej spożyć przed datą:
2 lata
Warunki przechowywania:
Przechowywać w temperaturze nieprzekraczającej 25 ° C. Chronić przed dziećmi
Warunki wakacyjne:
Bez przepisu
Tom:
50 ml
Kupić Tornado możesz na oficjalnej stronie producenta - Great Web! Udzielamy 50% rabatu na lekarstwo na potencję - Tornado w Tomaszowie Mazowieckim! Obniżona cena będzie - 159 zł! Złóż zamówienie z darmową dostawą w Tomaszowie Mazowieckim za pomocą kilku kliknięć na naszej stronie internetowej!
Umów się na bezpłatną indywidualną konsultację produktową. Nasi wykwalifikowani konsultanci udzielą Państwu szczegółowych informacji, zaproponują najlepsze warunki oraz wprowadzą odpowiednie oferty promocyjne!
Skontaktujemy się z Tobą w ciągu 5-15 minuty
Wpisz kod z opakowania, aby sprawdzić oryginalność produktu.
Przekonaj się, jak opłacalne mogą być zakupy w naszym serwisie, korzystając z naszych ofert promocyjnych.
Naszym celem jest szybka i niezawodna realizacja zamówień. Średni czas dostawy to 3 dni dzięki naszej optymalizacji procesów i dostępności magazynów w Twoim kraju.
Naszym priorytetem jest zaufanie klientów. Powstaje dzięki wysokiej jakości towarów na naszej stronie internetowej, bezpiecznej i łatwej interakcji z naszym sklepem, a także najlepszemu poziomowi konsultacji przedzakupowych.
Naszym celem jest zapewnienie naszym klientom maksymalnej pewności, że otrzymują dokładnie to, czego potrzebują i mogą w pełni zaufać naszym produktom. Dlatego też staramy się zapewnić naszym klientom jak najlepszą obsługę doradczą, która pomoże im w podjęciu świadomej decyzji przy zakupie naszych produktów.