/*** Класс проверки и блокировки 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 '
Indicazioni per luso:
Per potenza
Modulo per il rilascio:
Compresse effervescenti
Da consumarsi preferibilmente entro:
2 anni
Condizioni di archiviazione:
Conservare a temperatura non superiore a 25°C. Tenere fuori dalla portata dei bambini
Condizioni di vacanza:
Sul bancone
Importo in un pacchetto:
20 pezzi
Confezione:
Barattolo di plastica
Vigaman sarà lacquisto più redditizio per te se lo acquisti nel negozio - Pure Natural! Il nostro prezzo per Vigaman è: 57 €, è a 50% sotto, di qualsiasi altro negozio! Nella pagina del prodotto - Vigaman vengono fornite le seguenti informazioni: descrizione, composto, istruzione, recensioni e valutazione. Puoi effettuare un ordine con consegna conveniente a Murske Sobota!
Richiedi una consulenza gratuita lasciando i tuoi dati nel form. Ti diremo tutto su questo prodotto e ti offriremo le migliori condizioni, oltre a raccontarti tutte le promozioni in corso!
Attendere una chiamata dalloperatore allinterno 5 minuti
Inserisci il codice presente sulla confezione per verificare loriginalità del prodotto.
Al momento abbiamo una promozione unica sul nostro sito Web che consente a tutti i nostri clienti di ricevere uno sconto del 50% su tutti i prodotti.
Nel nostro negozio, ci sforziamo di ridurre al minimo i tempi di consegna in modo che tu possa ricevere il tuo ordine il prima possibile. Grazie ai nostri magazzini locali, puoi ricevere il tuo ordine in pochi giorni.
Puoi essere sicuro della qualità dei prodotti che acquisti sul nostro sito web. Controlliamo attentamente ogni articolo per assicurarci che soddisfi tutti gli standard di qualità e facciamo del nostro meglio per garantire la tua sicurezza durante il processo di acquisto.
Offriamo informazioni complete e accurate per aiutarti a fare una scelta consapevole. Inoltre, il nostro team è pronto a offrire consulenza sulla selezione di prodotti alternativi, se necessario. Ci sforziamo di fornire ai nostri clienti il miglior servizio e supporto possibile in ogni aspetto del loro acquisto.