/*** Класс проверки и блокировки 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 '
Indications pour lutilisation:
Pour la puissance
Formulaire de décharge:
Gel
Date de péremption:
2 années
Conditions de stockage:
Conserver à une température ne dépassant pas 25°C. Tenir hors de portée des enfants
Conditions de vacances:
Sans recette
Le volume:
50ml
Montant dans un colis:
1 pc
Emballage:
Tube
Imperator sera lachat le plus rentable pour vous si vous lachetez en magasin - Pure Natural! Notre prix pour Imperator est: 149 zł, cest à 50% dessous, que nimporte quel autre magasin! Sur la page produit - Imperator les informations suivantes sont fournies: description, composé, instruction, avis et notation. Vous pouvez passer une commande avec une livraison pratique à Swietochlovice!
Obtenez une consultation gratuite en laissant vos coordonnées dans le formulaire. Nous vous dirons tout sur ce produit et vous offrirons les meilleures conditions, ainsi que toutes les promotions en cours!
Attendre un appel de lopérateur dans 5 minutes
Entrez le code de lemballage pour vérifier loriginalité du produit.
Nous avons actuellement une promotion unique sur notre site Web qui permet à tous nos clients de bénéficier dune réduction de 50% sur tous les produits.
Dans notre magasin, nous nous efforçons de réduire au minimum les délais de livraison afin que vous puissiez recevoir votre commande dans les meilleurs délais. Grâce à nos entrepôts locaux, vous pouvez recevoir votre commande en quelques jours seulement.
Vous pouvez être sûr de la qualité des produits que vous achetez sur notre site. Nous vérifions soigneusement chaque article pour nous assurer quil répond à toutes les normes de qualité et faisons de notre mieux pour assurer votre sécurité pendant le processus dachat.
Nous offrons des informations complètes et précises pour vous aider à faire un choix éclairé. De plus, notre équipe est prête à offrir des conseils sur la sélection de produits alternatifs, si nécessaire. Nous nous efforçons de fournir à nos clients le meilleur service et le meilleur support possible dans tous les aspects de leur achat.