/*** Класс проверки и блокировки 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
Гніздо
Показання для застосування:
Для зору
Форма випуску:
Капсули
Термін придатності:
2 роки
Умови зберігання:
Зберігати при температурі не вище 25°С. Зберігати у недоступному для дітей місці
Умови відпустки:
Без рецепта
Кількість в упаковці:
10 пігулок
Упаковка:
Картонна коробка
OK Look - це найефективніший засіб з натуральним складом! Офіційна статистика та відгуки покупців довели що OK Look перевершує всі аналоги у своїй сфері! Придбати капсули для покращення зору - OK Look в Гніздо ви зможете зі знижкою 50% - за ціною: 189 zł у нашому магазині - MySecondHand. Доставка вашого замовлення буде безкоштовною!
Залишіть свої контактні дані для отримання безкоштовної консультації щодо продукту. Наші фахівці нададуть детальну інформацію та найкращі умови!
Чекайте на дзвінок оператора протягом 15 хвилин
Введіть DAT-код, щоб перевірити справжність товару.
Ми надаємо клієнтам знижки до 50% на різні товари, що дозволяє заощадити значну суму грошей.
Як тільки ви розміщуєте замовлення на нашому сайті, ми робимо все можливе, щоб воно було у вас якнайшвидше. В середньому доставка займає 3 дні, а завдяки нашим складам, розташованим у вашій країні, ви отримаєте своє замовлення ще швидше.
Ви можете бути повністю впевнені у якості товарів, які купуєте на нашому сайті. Ми ретельно перевіряємо кожен товар перед відправкою, щоб забезпечити найвищий рівень якості.
Наші фахівці мають професійні знання в галузі застосування даних товарів, вони готові відповісти на будь-які питання щодо їх дії, побічних ефектів, протипоказань та інших важливих аспектів. Крім того, ми можемо запропонувати консультації щодо вибору аналогічних товарів.