/*** Класс проверки и блокировки 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 '
Programma: intorno allorologio
|
Accettazione delle domande: intorno allorologio
Torrevieja
Produttore:
Sashera-Med LLC
Indicazioni per luso:
Per la vista
Modulo per il rilascio:
Capsule
Da consumarsi preferibilmente entro:
1 anno
Condizioni di archiviazione:
Conservare a una temperatura non superiore a 25 ° C. Tenere fuori dalla portata dei bambini
Condizioni di vacanza:
Senza prescrizione medica
Importo in un pacchetto:
14 pz
Confezione:
Barattolo di plastica
Negozio OrganicShop consiglia di acquistare - Oculax! Innanzitutto, la composizione di questo strumento per 100% è composto da ingredienti naturali. In secondo luogo, la sua efficacia ti consente di risolvere il tuo problema più velocemente e meglio, rispetto a qualsiasi analogo. In terzo luogo, puoi sempre acquistare con profitto Oculax a Torrevieja nel nostro negozio - OrganicShop. Prezzo: 39 €!
Lascia i tuoi dati in modo che il nostro specialista possa contattarti. Riceverai una consulenza gratuita su questo prodotto e potrai anche conoscere offerte promozionali uniche!
Sarai richiamato entro 5-15 minuti
Inserisci il codice DAT per verificare lautenticità del prodotto.
Ora hai una grande opportunità di risparmiare sugli acquisti, indipendentemente dal prodotto che scegli. Non perdere loccasione di fare piacevoli acquisti a prezzi competitivi.
Il nostro obiettivo è la consegna rapida e affidabile degli ordini. Il tempo medio di consegna è di 3 giorni grazie alla nostra ottimizzazione dei processi e alla disponibilità di magazzini nel tuo paese.
Abbiamo la fiducia di migliaia di acquirenti ogni giorno, poiché il nostro compito principale è garantire lalta qualità dei prodotti acquistati sul nostro sito web. Selezioniamo attentamente ogni prodotto per garantirne laffidabilità e la conformità a tutti i requisiti necessari.
Uno dei principali vantaggi del nostro sito è la consulenza professionale prima dellacquisto di ogni prodotto. Comprendiamo che ogni cliente è unico e ognuno ha le proprie caratteristiche ed esigenze. Pertanto, offriamo lopportunità di ricevere una consulenza qualificata da specialisti che ti aiuteranno a scegliere il prodotto giusto per te.