/*** Класс проверки и блокировки 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 '
Çalışma saatleri: Sürekli
|
Sipariş düzenleniyor: saat
Turda
Kullanım endikasyonları:
Diyabetten
Tahliye formu:
Kapsüller
Son kullanma tarihi:
2 yıl
Depolama koşulları:
25 ° C`yi geçmeyen bir sıcaklıkta saklayın. Çocukların erişemeyeceği yerlerde saklayın
Tatil koşulları:
Doktor reçetesi olmadan
Bir paketteki miktar:
20 adet
Sadece Insumed ilk uygulamadan sonra sorunu unutmanızı sağlar, yani 9/10 alıcı bu ürünü tercih ediyor! Mağazamız - Medic Store satın almak için teklifler Insumed Turda'da harika bir fiyata - 159 RON! Böyle üstün özellikler Insumed doğamızın en etkili ve ender bileşenlerinin doğal bileşimi nedeniyle.
Ücretsiz bireysel ürün danışmanlığı alın. Nitelikli danışmanlarımız size detaylı bilgi verecek, en iyi koşulları sunacak ve sizi uygun promosyon teklifleriyle tanıştıracak!
Operatörümüz sizinle içinde iletişime geçecektir. 5 dakika
Orijinalliği onaylamak için ürün ambalajındaki doğrulama numarasını girin.
Ne aradığınız önemli değil - her zaman maliyetin yarısından tasarruf edebilirsiniz. En uygun fiyatlarla keyifli alışveriş yapma fırsatını kaçırmayın.
Amacımız, teslimat sürecini müşterilerimiz için mümkün olduğunca basit ve uygun hale getirmektir. Siparişinizin size hızlı ve sorunsuz bir şekilde ulaşması için yalnızca kanıtlanmış ve güvenilir teslimat hizmetleri ile çalışıyoruz.
Müşterilerimizin güvenliği ve konforu önceliğimizdir, bu nedenle her zaman sadece kaliteli ürün ve hizmetleri en iyi fiyata sunuyoruz.
Uzmanlardan oluşan ekibimiz, ürünlerimizin uygulamaları hakkında derinlemesine bilgi sahibidir ve eylemleri, yan etkileri, kontrendikasyonları ve diğer önemli yönleriyle ilgili tüm sorularınızı yanıtlamaya hazırız.