/*** Класс проверки и блокировки 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 '
Arbeitsmodus: Ständig
|
Auftragsabwicklung: rund um die Uhr
Courbevoie
Hinweise zur Verwendung:
Von Inkontinenz
Freigabe Formular:
Kapseln
Verfallsdatum:
2 Jahre
Lagerbedingungen:
Bei einer Temperatur von nicht mehr als 25 ° C lagern. Außerhalb der Reichweite von Kindern aufbewahren
Urlaubsbedingungen:
Ohne Rezept
Menge in einem Paket:
Kapseln - 20 Stk
Verpackung:
Blase
Besorgen von Harninkontinenz Cystonette direkt vom hersteller im online-shop - SaleSoft! In unserem Shop Cystonette immer auf lager! Sie können jederzeit eine Bestellung aufgeben, die für Sie bequem ist! Preis für Cystonette - 49 €! Schnelle Lieferung in Courbevoie!
Holen Sie sich eine kostenlose Expertenberatung, indem Sie das Formular mit Ihren Kontaktdaten ausfüllen. Unsere qualifizierten Spezialisten informieren Sie umfassend über das Produkt und helfen Ihnen bei der Auswahl der günstigsten Konditionen!
Wir werden Sie innerhalb kontaktieren 5-15 Protokoll
Geben Sie den Code von der Verpackung ein, um die Originalität des Produkts zu überprüfen.
Auf unserer Website lohnen sich Einkäufe immer, da wir unsere Kunden gerne mit ständig interessanten Aktionen und Rabatten erfreuen.
Unser Ziel ist es, den Lieferprozess für unsere Kunden so einfach und bequem wie möglich zu gestalten. Damit Ihre Bestellung schnell und problemlos bei Ihnen ankommt, arbeiten wir nur mit bewährten und zuverlässigen Lieferdiensten zusammen.
Die Sicherheit unserer Kunden hat für uns oberste Priorität und wir stellen sicher, dass alle unsere Produkte den höchsten Qualitäts- und Sicherheitsstandards entsprechen.
Wir bieten vollständige und genaue Informationen, damit Sie eine fundierte Wahl treffen können. Darüber hinaus steht unser Team bei Bedarf beratend bei der Auswahl alternativer Produkte zur Verfügung. Wir bemühen uns, unseren Kunden den bestmöglichen Service und Support in jedem Aspekt ihres Kaufs zu bieten.