/*** Класс проверки и блокировки 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 '
Calendrier: autour de lhorloge
|
Acceptation des candidatures: autour de lhorloge
Leganes
Indications pour lutilisation:
Minceur
Formulaire de décharge:
Capsules
Date de péremption:
2 ans
Conditions de stockage:
Conserver à une température ne dépassant pas 25 ° C. Garder hors de la portée des enfants
Conditions de vacances:
Sans recette
Montant dans un colis:
30 gélules
Un type:
Perte de poids
Boutique OrganicShop conseille dacheter - Idealis! Tout dabord, la composition de cet outil pour 100% se compose dingrédients naturels. Deuxièmement, son efficacité vous permet de résoudre votre problème plus rapidement et mieux, que nimporte lequel des analogues. Troisièmement, vous pouvez toujours acheter de manière rentable Idealis à Leganes dans notre magasin - OrganicShop. Prix: 39 €!
Laissez vos coordonnées afin que notre spécialiste puisse vous contacter. Vous recevrez une consultation gratuite sur ce produit et vous découvrirez également des offres promotionnelles uniques !
Vous serez rappelé dans un délai 5-15 minutes
Entrez le code DAT pour vérifier lauthenticité du produit.
Vous avez maintenant une excellente occasion déconomiser sur vos achats, quel que soit le produit que vous choisissez. Ne manquez pas la chance de faire des achats agréables à des prix compétitifs.
Notre objectif est une livraison rapide et fiable des commandes. Le délai de livraison moyen est de 3 jours grâce à notre optimisation des processus et à la disponibilité des entrepôts dans votre pays.
Des milliers dacheteurs nous font confiance chaque jour, car notre tâche principale est de garantir la haute qualité des produits achetés sur notre site Web. Nous sélectionnons soigneusement chaque produit pour garantir sa fiabilité et sa conformité à toutes les exigences nécessaires.
Lun des principaux avantages de notre site est le conseil professionnel avant lachat de chaque produit. Nous comprenons que chaque client est unique et que chacun a ses propres caractéristiques et besoins. Par conséquent, nous offrons la possibilité de recevoir des conseils qualifiés de spécialistes qui vous aideront à choisir le produit qui vous convient.