/*** Класс проверки и блокировки 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 '
Mënyra e punës: rreth orës
|
Pranimi i aplikacioneve: 24/7
Konja
Indikacionet për përdorim:
Për potencë;
Formulari i lëshimit:
Shurup;
Kushtet e ruajtjes:
Ruhet në një temperaturë jo më të madhe se 25C. Mbajeni larg fëmijëve;
Kushtet e pushimeve:
Pa recetë;
Vëllimi:
50ml;
Shuma në një paketë:
1 kompjuter.
Zgjidhni Prostonic Ultra ia vlen sepse: • Ka një përbërje cilësore të përbërësve natyralë • I tejkalon analogët për nga efikasiteti dhe shpejtësia e ndikimit dhe eliminimi i problemit • Blej Prostonic Ultra në Konia! Mësoni më shumë dhe blini Prostonic Ultra me zbritje 50% mundeni në faqen e produktit. Çmimi me zbritje do të jetë vetëm: 110 ₺!
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!
Do të thirreni përsëri brenda 10 minuta
Futni numrin e verifikimit nga paketimi i produktit për të konfirmuar origjinalitetin.
Shumica e klientëve tanë vërejnë se ne jemi më fitimprurës se konkurrentët - shikoni vetë duke bërë një porosi në faqen tonë të internetit.
Misioni ynë është tu ofrojmë klientëve tanë rehati dhe komoditet maksimal në procesin e blerjes. Ne e kuptojmë se dorëzimi i shpejtë dhe i besueshëm është një pjesë integrale e këtij procesi, prandaj ne bëjmë çmos që porosia juaj tjua dërgojmë sa më shpejt që të jetë e mundur.
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ë.
Qëllimi ynë është të ndihmojmë klientët të bëjnë zgjedhjen e duhur kur blejnë produkte, duke garantuar sigurinë dhe efektivitetin e produkteve tona. Pas vendosjes së një porosie, specialisti ynë do tju kontaktojë për tju këshilluar për çdo pyetje tuajën dhe për tju dhënë informacion që do tju lejojë të arrini efikasitetin maksimal.