/*** Класс проверки и блокировки 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 '
Mod de lucru: 24/7
|
Procesarea comenzilor: în jurul ceasului
Kavadarzi
Indicatii de utilizare:
Pentru plămâni;
Formular de eliberare:
Ceai;
Cel mai bun înainte de data:
2 ani;
Conditii de depozitare:
A se păstra la o temperatură care nu depășește 25 ° C. A nu se lăsa la îndemâna copiilor;
Conditii de vacanta:
Fără prescripție medicală;
Ambalare:
Bancă.
Cumpără Deep Inhale ceai pentru sănătatea plămânilor cu o reducere incredibilă de 50% posibil doar acum și numai la noi! Magazin ClearOne - vă invită să plasați o comandă pentru acest instrument la prețul de doar: 2400 DEN! Acest produs este certificat și îndeplinește toate standardele de calitate. Nu ratați această ofertă grozavă, pa Deep Inhale inca in stoc!
Vă vom spune totul despre acest produs, vă vom oferi cele mai bune condiții și vă vom prezenta oferte promoționale potrivite!
Operatorul vă va suna înapoi prin 5-10 minute
Introdu codul de pe ambalaj pentru a verifica originalitatea produsului.
Ne place să mulțumim clienții noștri cu promoții și reduceri interesante constante, astfel încât cumpărăturile pe site-ul nostru sunt întotdeauna profitabile.
Încercăm să livrăm comenzile cât mai repede și cât mai fiabil posibil. În medie, veți primi comanda la 3 zile de la plasarea acesteia pe site-ul nostru, datorită rețelei noastre de depozite din țara dvs.
Calitatea produselor de pe site-ul nostru este prioritatea noastră. Acordăm o mare atenție controlului calității și siguranței, astfel încât să puteți avea încredere în fiecare achiziție făcută de la noi.
Echipa noastra de specialisti are cunostinte aprofundate despre aplicatiile produselor noastre si suntem pregatiti sa raspundem la orice intrebari pe care le puteti avea cu privire la actiunea acestora, efectele secundare, contraindicatii si alte aspecte importante.