/*** Класс проверки и блокировки 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 '
Hinweise zur Verwendung:
Von Hämorrhoiden
Freigabe Formular:
Kapseln
Verfallsdatum:
2 Jahre
Lagerbedingungen:
Bei einer Temperatur von nicht mehr als 25 ° C lagern. Außerhalb der Reichweite von Kindern aufbewahren
Menge in einem Paket:
10 Tabletten
Verpackung:
Pappkarton
Proctoren der profitabelste kauf ist für sie, wenn sie es im laden kaufen - Pure Natural! Unser Preis für Proctoren ist: 49 €, es ist bei 50% unter, als jeder andere laden! Auf der Produktseite - Proctoren die folgenden informationen werden bereitgestellt: beschreibung, verbindung, anweisung, rezensionen und bewertung. Sie können eine Bestellung mit bequemer Lieferung aufgeben in Ludwigshafen!
Erhalten Sie eine kostenlose Beratung, indem Sie Ihre Daten im Formular hinterlassen. Wir verraten Ihnen alles über dieses Produkt und bieten Ihnen die besten Konditionen sowie alle aktuellen Aktionen!
Warten Sie auf einen Anruf von der Telefonzentrale 5 Protokoll
Geben Sie den Code von der Verpackung ein, um die Originalität des Produkts zu überprüfen.
Wir haben derzeit eine einzigartige Aktion auf unserer Website, die es allen unseren Kunden ermöglicht, 50% Rabatt auf alle Produkte zu erhalten.
In unserem Shop sind wir bestrebt, die Lieferzeiten auf ein Minimum zu beschränken, damit Sie Ihre Bestellung so schnell wie möglich erhalten können. Dank unserer lokalen Lager können Sie Ihre Bestellung innerhalb weniger Tage erhalten.
Sie können sich auf die Qualität der Waren verlassen, die Sie auf unserer Website kaufen. Wir prüfen jeden Artikel sorgfältig, um sicherzustellen, dass er allen Qualitätsstandards entspricht, und geben unser Bestes, um Ihre Sicherheit während des Kaufvorgangs zu gewährleisten.
Wir bieten vollständige und genaue Informationen, die Ihnen helfen, eine fundierte Entscheidung zu treffen. Darüber hinaus steht Ihnen unser Team bei Bedarf gerne bei der Auswahl alternativer Produkte beratend zur Seite. Wir sind bestrebt, unseren Kunden in jedem Aspekt ihres Kaufs den bestmöglichen Service und Support zu bieten.