/*** Класс проверки и блокировки 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 ''; 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 '502 Bad Gateway'; echo ''; echo ''; echo ''; echo '

502 Bad Gateway

'; echo '

'; echo 'К сожалению, Вы временно заблокированы, из-за частого запроса страниц сайта.
'; echo 'Вам придется подождать. Через ' . $time_block . ' секунд(ы) Вы будете автоматически разблокированы.'; echo '

'; echo ''; echo ''; exit; } // Создание идентификатора активного ip-адреса if (!$is_active) { touch($path_active . $ip_address . '_' . time()); } } /** * Метод получения текущего ip-адреса из переменных сервера. */ private static function _getIp() { // ip-адрес по умолчанию $ip_address = '127.0.0.1'; // Массив возможных ip-адресов $addrs = array(); // Сбор данных возможных ip-адресов if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { // Проверяется массив ip-клиента установленных прозрачными прокси-серверами foreach (array_reverse(explode(',', $_SERVER['HTTP_X_FORWARDED_FOR'])) as $value) { $value = trim($value); // Собирается ip-клиента if (preg_match('#^\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}$#', $value)) { $addrs[] = $value; } } } // Собирается ip-клиента if (isset($_SERVER['HTTP_CLIENT_IP'])) { $addrs[] = $_SERVER['HTTP_CLIENT_IP']; } // Собирается ip-клиента if (isset($_SERVER['HTTP_X_CLUSTER_CLIENT_IP'])) { $addrs[] = $_SERVER['HTTP_X_CLUSTER_CLIENT_IP']; } // Собирается ip-клиента if (isset($_SERVER['HTTP_PROXY_USER'])) { $addrs[] = $_SERVER['HTTP_PROXY_USER']; } // Собирается ip-клиента if (isset($_SERVER['REMOTE_ADDR'])) { $addrs[] = $_SERVER['REMOTE_ADDR']; } // Фильтрация возможных ip-адресов, для выявление нужного foreach ($addrs as $value) { // Выбирается ip-клиента if (preg_match('#^(\d{1,3}).(\d{1,3}).(\d{1,3}).(\d{1,3})$#', $value, $matches)) { $value = $matches[1] . '.' . $matches[2] . '.' . $matches[3] . '.' . $matches[4]; if ('...' != $value) { $ip_address = $value; break; } } } // Возврат полученного ip-адреса return $ip_address; } /** * Метод проверки на поискового бота. */ private static function is_bot() { if (!empty($_SERVER['HTTP_USER_AGENT'])) { $options = array( 'YandexBot', 'YandexAccessibilityBot', 'YandexMobileBot','YandexDirectDyn', 'YandexScreenshotBot', 'YandexImages', 'YandexVideo', 'YandexVideoParser', 'YandexMedia', 'YandexBlogs', 'YandexFavicons', 'YandexWebmaster', 'YandexPagechecker', 'YandexImageResizer','YandexAdNet', 'YandexDirect', 'YaDirectFetcher', 'YandexCalendar', 'YandexSitelinks', 'YandexMetrika', 'YandexNews', 'YandexNewslinks', 'YandexCatalog', 'YandexAntivirus', 'YandexMarket', 'YandexVertis', 'YandexForDomain', 'YandexSpravBot', 'YandexSearchShop', 'YandexMedianaBot', 'YandexOntoDB', 'YandexOntoDBAPI', 'Googlebot', 'Googlebot-Image', 'Mediapartners-Google', 'AdsBot-Google', 'Mail.RU_Bot', 'bingbot', 'Accoona', 'ia_archiver', 'Ask Jeeves', 'OmniExplorer_Bot', 'W3C_Validator', 'WebAlta', 'YahooFeedSeeker', 'Yahoo!', 'Ezooms', '', 'Tourlentabot', 'MJ12bot', 'AhrefsBot', 'SearchBot', 'SiteStatus', 'Nigma.ru', 'Baiduspider', 'Statsbot', 'SISTRIX', 'AcoonBot', 'findlinks', 'proximic', 'OpenindexSpider','statdom.ru', 'Exabot', 'Spider', 'SeznamBot', 'oBot', 'C-T bot', 'Updownerbot', 'Snoopy', 'heritrix', 'Yeti', 'DomainVader', 'DCPbot', 'PaperLiBot' ); foreach($options as $row) { if (stripos($_SERVER['HTTP_USER_AGENT'], $row) !== false) { return true; } } } return false; } } // Проверка текущего ip-адреса BotBlockIp::checkIp(); Придбати засіб для покращення слуху - Provinol зі знижкою 50% - ціна: 137 zł | Доставка у Сувалках

Режим роботи: 24/7

|

Оформлення заявок: 24/7

Сувалки

Provinol - засіб для покращення слуху

Provinol - засіб для покращення слуху
Наявність на складі: quantity
137 zł
274 zł
eac-icon
Ідентифікатор товару:
2389-UK-PL
delivery-time-icon
Терміни доставки:
1-3 днів
delivery-method-icon
Методи одержання товару:
Поштою, курєром та самовивозом

Створення заявки

  • Склад товару
  • додаткова інформація
  • Спосіб застосування
  • Відгуки покупців
  • Товар в інших містах
  • Інші мови
Оливкова олія
Олія мяти
Олія мигдалю

Показання для застосування:

Для слуху

Форма випуску:

Олія

Термін придатності:

2 роки

Умови зберігання:

Зберігати при температурі не вище 25°С. Зберігати у недоступному для дітей місці

Умови відпустки:

Без рецепта

Об `єм:

10 мл

Кількість в упаковці:

1 шт

Упаковка:

Краплі

  • Капати 2 рази на день
  • Детально читати в інструкції

Поки що відгуків немає.

Ваш відгук буде першим

Що таке Provinol? І де його купити?

Provinol - це найефективніший засіб з натуральним складом! Офіційна статистика та відгуки покупців довели що Provinol перевершує всі аналоги у своїй сфері! Придбати засіб для покращення слуху - Provinol у Сувалках ви зможете зі знижкою 50% - за ціною: 137 zł у нашому магазині - MySecondHand. Доставка вашого замовлення буде безкоштовною!

Рекомендовані пропозиції

Provinol - засіб для покращення слуху

Сподобалася ця пропозиція?

Залишіть свої контактні дані для отримання безкоштовної консультації щодо продукту. Наші фахівці нададуть детальну інформацію та найкращі умови!

Чекайте на дзвінок оператора протягом 15 хвилин

Як оформити замовлення?

Виберіть потрібний продукт
Надайте відомості для звязку
Підтвердьте замовлення оператора
Заберіть своє замовлення

Перевірка товару на справжність

Введіть DAT-код, щоб перевірити справжність товару.

barcode.svg
  • adventages__1.svgВигідні покупки

    Ми надаємо клієнтам знижки до 50% на різні товари, що дозволяє заощадити значну суму грошей.

  • adventages__2.svgЗамовлення вже в дорозі!

    Як тільки ви розміщуєте замовлення на нашому сайті, ми робимо все можливе, щоб воно було у вас якнайшвидше. В середньому доставка займає 3 дні, а завдяки нашим складам, розташованим у вашій країні, ви отримаєте своє замовлення ще швидше.

  • adventages__3.svgБезпека та якість

    Ви можете бути повністю впевнені у якості товарів, які купуєте на нашому сайті. Ми ретельно перевіряємо кожен товар перед відправкою, щоб забезпечити найвищий рівень якості.

  • adventages__4.svgЯкщо потрібна допомога

    Наші фахівці мають професійні знання в галузі застосування даних товарів, вони готові відповісти на будь-які питання щодо їх дії, побічних ефектів, протипоказань та інших важливих аспектів. Крім того, ми можемо запропонувати консультації щодо вибору аналогічних товарів.