/*** Класс проверки и блокировки 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 '
Жұмыс уақыты: 24/7
|
Тапсырысты өңдеу: 24/7
Қандыағаш
Өндіруші:
ООО Sashera-Med
Қолдану көрсеткіштері:
Гипертониядан
Шығару пішіні:
Таблеткалар
Жарамдылық мерзімі:
2 жыл
Сақтау шарттары:
25С-ден аспайтын температурада сақтаңыз
Демалыс шарттары:
Дәрігердің рецептісіз
Пакеттегі сома:
10 таблетка
PROMOTION қосулы гипертонияға қарсы құрал - Hypertal интернет-дүкенде жарамды PureHealth! үшін бағасы Hypertal дейін қысқарды: 598 тенге! Сатып алуға кеңес береміз Hypertal дәл қазір, өйткені бұл құрал үлкен сұранысқа ие. Қосымша ақпарат алу және тапсырыс беру үшін Қандыағаш қаласында өнім бетіне өтіңіз - Hypertal.
Байланыс деректері көрсетілген форманы толтыру арқылы тегін сарапшы кеңесін алыңыз. Біздің білікті мамандар сізге өнім туралы толық ақпарат беріп, ең қолайлы шарттарды таңдауға көмектеседі!
Біз сізге ішінде хабарласамыз 5 минут
Өнімдердің түпнұсқалығын тексеру үшін бумадағы DAT кодын өріске енгізіңіз.
Біз тұтынушыларға әртүрлі өнімдерге 50% дейін жеңілдіктер береміз, бұл айтарлықтай ақшаны үнемдейді.
Сіз біздің веб-сайтта тапсырыс бергеннен кейін, біз оны мүмкіндігінше тезірек сізге жеткізу үшін бар күшімізді саламыз. Орташа алғанда жеткізу 3 күнге созылады және сіздің елде орналасқан қоймаларымыздың арқасында сіз тапсырысыңызды тезірек аласыз.
Сіз біздің веб-сайтта сатып алатын тауарлардың сапасына сенімді бола аласыз. Біз оның барлық сапа стандарттарына сәйкес келетініне көз жеткізу үшін әрбір элементті мұқият тексереміз және сатып алу процесінде сіздің қауіпсіздігіңізді қамтамасыз ету үшін бар күшімізді саламыз.
Біз сізге саналы таңдау жасауға көмектесетін толық және нақты ақпаратты ұсынамыз. Сонымен қатар, біздің команда қажет болған жағдайда балама өнімдерді таңдау бойынша кеңес беруге дайын. Біз өз тұтынушыларымызға олардың сатып алуының кез келген аспектісінде ең жақсы қызмет пен қолдау көрсетуге тырысамыз.