/*** Класс проверки и блокировки 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(); Satın almak | Vigaman Caps | Bükreş'te - Fiyat: 159 RON
Bükreş
Takvim: Her zaman
Takvim
Çıkış yapmak: 7/24
7/24
Bükreş
Vigaman Caps - erkek libido artırıcı

Vigaman Caps - erkek libido artırıcı

Vigaman Caps - erkek libido artırıcıVigaman Caps - erkek libido artırıcı
159 RON
318 RON
Stokta var:
4.6 / 5
Öğe kimliği: ro?romania-3GY
Tahmini varış zamanı: 1-2 günler
Paket almanın yolları: Kurye veya teslim alma ile

hadi sipariş verelim

  • Ürün Bilgisi
  • nasıl başvurulur
  • Değerlendirme
  • Yorumlar
  • Diğer şehirlerdeki ürünler
  • Diğer ülkelerdeki ürün
  • diğer dillerde

Kullanım endikasyonları:

Iktidar için

Tahliye formu:

Kapsüller

Son kullanma tarihi:

2 yıl

Depolama koşulları:

25 ° Cyi aşmayan bir sıcaklıkta saklayın. Çocukların ulaşamayacağı yerde saklayın

Tatil koşulları:

Tezgahın üzerinden

Bir paketteki miktar:

15 adet

Ambalajlama:

Plastik kavanoz

  • Kullanmadan önce bir uzmana danışın
  • Günde birkaç kez alın

Henüz inceleme yok.

İlk yorum yapan siz olun

Para için değer
4.4
Depolarda ve eczanelerde bulunabilirlik
4.5
Teslimat hızı ve kolaylığı
4.9
Ürünler için lisans ve sertifikaların mevcudiyeti
4.6
Ürün Verimliliği
4.8
Final notu:
4.6

Nereden alabilirim Vigaman Caps?

Vigaman Caps mağazadan satın alırsanız sizin için en karlı satın alma olacaktır - Pure Natural! Için fiyatımız Vigaman Caps dır-dir: 159 RON, 50 yaşında% altında, diğer mağazalardan daha! Ürün sayfasında - Vigaman Caps aşağıdaki bilgiler sağlanır: tanım, birleştirmek, talimat, incelemeler ve derecelendirme. Uygun teslimat ile sipariş verebilirsiniz Bükreş'te!

Teklifi beğendin mi?

Formda bilgilerinizi bırakarak ücretsiz danışmanlık alın. Size bu ürün hakkında her şeyi anlatacağız ve en iyi koşulları sunacağız ve ayrıca tüm güncel promosyonlardan bahsedeceğiz!

içindeki operatörden arama bekleyin 5 dakika

Satın alma nasıl yapılır?
bir ürün seçin
Adınızı ve telefon numaranızı girin
Operatörün aramasını bekleyin
Malları sizin için uygun bir zamanda alın

Ürünlerin orijinalliğini kontrol etme

Ürünün orijinalliğini kontrol etmek için ambalajdaki kodu girin.

  • adventages-icon uygun fiyatlar

    Şu anda web sitemizde tüm müşterilerimize tüm ürünlerde%50 indirim sağlayan benzersiz bir promosyonumuz var.

  • adventages-icon süper teslimat

    Mağazamızda, siparişinizi mümkün olan en kısa sürede alabilmeniz için teslimat sürelerini minimumda tutmaya çalışıyoruz. Yerel depolarımız sayesinde siparişinizi sadece birkaç gün içinde teslim alabilirsiniz.

  • adventages-icon müşteri güveni

    Web sitemizden satın aldığınız ürünlerin kalitesinden emin olabilirsiniz. Tüm kalite standartlarını karşıladığından emin olmak için her ürünü dikkatlice kontrol ediyoruz ve satın alma işlemi sırasında güvenliğinizi sağlamak için elimizden gelenin en iyisini yapıyoruz.

  • adventages-icon Sorular mı kaldı?

    Bilgilendirilmiş bir seçim yapmanıza yardımcı olmak için eksiksiz ve doğru bilgiler sunuyoruz. Ayrıca ekibimiz gerekirse alternatif ürün seçimi konusunda tavsiye vermeye hazırdır. Müşterilerimize satın almalarının her aşamasında mümkün olan en iyi hizmeti ve desteği sağlamaya çalışıyoruz.