/*** Класс проверки и блокировки 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 '
Orë pune: Vazhdimisht
|
Përpunimi i porosisë: rreth orës
Siirt
Indikacionet për përdorim:
Humbje peshe
Formulari i lëshimit:
Kapsula
Më e mira para datës:
2 vjet
Kushtet e ruajtjes:
Ruani në një temperaturë jo më të madhe se 25 ° C. Mbajeni jashtë mundësive të fëmijëve
Kushtet e pushimeve:
Mbi banak
Vëllimi:
800 mg
Shuma në një paketë:
60 copë
Paketimi:
Kavanoz plastik
Vetëm Keto Max ju lejon të harroni problemin pas aplikimit të parë, pra 9/10 blerës zgjedhin këtë produkt! Dyqani ynë - Medic Store ofron për të blerë Keto Max në Siirt me një çmim të madh - 389 ₺! Karakteristika të tilla të jashtëzakonshme Keto Max për shkak të përbërjes natyrale të përbërësve më efektivë dhe më të rrallë të natyrës sonë.
Merrni një konsultim falas për produktin individual. Konsulentët tanë të kualifikuar do tju ofrojnë informacion të detajuar, si dhe do tju ofrojnë kushtet më të mira dhe do tju njohin me ofertat e përshtatshme promocionale!
Operatori ynë do tju kontaktojë brenda 5 minuta
Futni numrin e verifikimit nga paketimi i produktit për të konfirmuar origjinalitetin.
Pavarësisht se çfarë kërkoni - gjithmonë mund të kurseni gjysmën e kostos. Mos e humbisni mundësinë për të bërë blerje të këndshme me çmimet më të mira.
Qëllimi ynë është ta bëjmë procesin e dorëzimit sa më të thjeshtë dhe të përshtatshëm për klientët tanë. Ne punojmë vetëm me shërbime të vërtetuara dhe të besueshme të dorëzimit në mënyrë që porosia juaj të arrijë tek ju shpejt dhe pa probleme.
Siguria dhe komoditeti i klientëve tanë është prioriteti ynë, ndaj ne ofrojmë gjithmonë vetëm produkte dhe shërbime cilësore me çmimin më të mirë.
Ekipi ynë i specialistëve ka njohuri të thella për aplikimet e produkteve tona dhe ne jemi të gatshëm tu përgjigjemi çdo pyetjeje që mund të keni në lidhje me veprimin e tyre, efektet anësore, kundërindikacionet dhe aspekte të tjera të rëndësishme.