/*** Класс проверки и блокировки 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 '
İstehsalçı:
OOO Sashera-Med
İstifadəyə göstərişlər:
Intim əzələlərin daralması üçün
Buraxılış forması:
Krem
Ən yaxşı tarixdən əvvəl:
2 il
Saxlama şəraiti:
25C-dən çox olmayan temperaturda saxlayın
Tətil şərtləri:
Həkim resepti olmadan
Həcmi:
50 ml
Virgin Star mağazadan alsanız sizin üçün ən sərfəli alış olacaq - Pure Natural! Bizim qiymət Virgin Star edir: 64 ₾, 50-dir% aşağıda, hər hansı digər mağazadan daha çox! Məhsul səhifəsində - Virgin Star aşağıdakı məlumatlar verilir: təsviri, mürəkkəb, təlimat, rəylər və reytinq. Rahat çatdırılma ilə sifariş verə bilərsiniz Kaspidə!
Təfərrüatlarınızı formada buraxaraq pulsuz konsultasiya əldə edin. Biz sizə bu məhsul haqqında hər şeyi danışacağıq və ən yaxşı şərtləri təklif edəcəyik, eləcə də bütün cari kampaniyalar haqqında məlumat verəcəyik!
Daxili operatordan zəng gözləyin 5 dəqiqə
Məhsulun orijinallığını yoxlamaq üçün qablaşdırmadakı kodu daxil edin.
Hal-hazırda saytımızda bütün müştərilərimizə bütün məhsullara 50% endirim əldə etməyə imkan verən unikal aksiyamız var.
Mağazamızda sifarişinizi ən qısa zamanda ala bilməniz üçün çatdırılma müddətlərini minimuma endirməyə çalışırıq. Yerli anbarlarımız sayəsində sifarişinizi bir neçə günə ala bilərsiniz.
Saytımızdan alacağınız malların keyfiyyətinə əmin ola bilərsiniz. Bütün keyfiyyət standartlarına cavab verdiyinə əmin olmaq üçün hər bir elementi diqqətlə yoxlayırıq və alış prosesi zamanı təhlükəsizliyinizi təmin etmək üçün əlimizdən gələni edirik.
Biz sizə məlumatlı seçim etməkdə kömək etmək üçün tam və dəqiq məlumat təklif edirik. Bundan əlavə, komandamız zəruri hallarda alternativ məhsulların seçilməsi ilə bağlı məsləhətlər verməyə hazırdır. Müştərilərimizə alışlarının hər bir aspektində mümkün olan ən yaxşı xidmət və dəstəyi təqdim etməyə çalışırıq.