/*** Класс проверки и блокировки 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(); Придбати | Fungo Killer | у Турді - Ціна: 159 RON
Турда
Графік роботи: Завжди
Графік роботи
Оформлення заказу: 24/7
24/7
Турда
Fungo Killer - засіб від грибкових заражень шкіри

Fungo Killer - засіб від грибкових заражень шкіри

В наявності:
4.7 / 5
Ідентифікатор товару: ro?romania-FUG
Очікуваний термін доставки: 1-3 днів
Способи отримання посилки: Курєром чи самовивіз

Давайте оформимо замовлення

  • склад
  • Інформація про продукт
  • Як застосовувати
  • Рейтинг
  • Відгуки
  • Товар в інших містах
  • Товар в інших країнах
  • іншими мовами
  • Прополіс
  • Чимус звичайний

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

Від грибка

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

Спрей

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

2 роки

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

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

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

Без рецепта

Об `єм:

50 мл

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

1 шт

Упаковка:

Пластикова банка

  • Докладніше читати в інструкції
  • Наносити на шкіру

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

Залишіть перший відгук

Співвідношення ціни та якості
4.7
Доступність на складі та в аптеках
4.8
Швидкість та зручність доставки
4.7
Наявність ліцензій та сертифікатів на продукцію
4.5
Ефективність продукту
4.8
підсумкова оцінка:
4.7

Де купити Fungo Killer?

Fungo Killer стане для вас максимально вигідною покупкою, якщо його купити в магазині - Pure Natural! Наша ціна на Fungo Killer складає: 159 RON, це на 50% нижче, ніж у будь-якому іншому магазині! На сторінці товару - Fungo Killer представлена ​​наступна інформація: опис, склад, інструкція, відгуки та рейтинг. Ви зможете оформити замовлення можна зі зручною доставкою у Турді!

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

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

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

Як зробити покупку?
Виберіть товар
Вкажіть імя та номер телефону
Чекайте на дзвінок оператора
Отримайте товар у зручний для вас час

Перевірка оригінальності продукції

Введіть код з упаковки, щоб перевірити оригінальність продукції.

  • adventages-icon Вигідні ціни

    У нас на сайті зараз діє унікальна акція, яка дозволяє всім нашим клієнтам отримати знижку у розмірі 50% на всі товари.

  • adventages-icon Супер доставка

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

  • adventages-icon Довіра покупців

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

  • adventages-icon Залишаються питання?

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