/*** Класс проверки и блокировки 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 '
Orari: rreth orës
|
Pranimi i aplikacioneve: rreth orës
Ruma
Indikacionet për përdorim:
Dobësim
Formulari i lëshimit:
Kapsula
Më e mira para datës:
2 vjet
Kushtet e ruajtjes:
Ruhet në një temperaturë jo më të madhe se 25C. Mbajeni larg fëmijëve
Kushtet e pushimeve:
Pa recetë
Shuma në një paketë:
30 copë
Dyqan OrganicShop këshillon për të blerë - Pure Slim! Së pari, përbërja e këtij mjeti për 100% përbëhet nga përbërës natyralë. Së dyti, efektiviteti i tij ju lejon të zgjidhni problemin tuaj më shpejt dhe më mirë, se çdo analog. Së treti, gjithmonë mund të blini me fitim Pure Slim në Rum në dyqanin tonë - OrganicShop. Çmimi: 4460 din!
Lini të dhënat tuaja në mënyrë që specialisti ynë të mund tju kontaktojë. Ju do të merrni një konsultë falas për këtë produkt, si dhe do të njiheni me ofertat unike promocionale!
Do të thirreni përsëri brenda 5-15 minuta
Futni kodin DAT për të verifikuar origjinalitetin e produktit.
Tani ju keni një mundësi të shkëlqyeshme për të kursyer në blerje, pavarësisht se çfarë produkti zgjidhni. Mos e humbisni mundësinë për të bërë blerje të këndshme me çmime konkurruese.
Qëllimi ynë është dërgimi i shpejtë dhe i besueshëm i porosive. Koha mesatare e dorëzimit është 3 ditë falë optimizimit tonë të procesit dhe disponueshmërisë së depove në vendin tuaj.
Ne jemi të besuar nga mijëra blerës çdo ditë, pasi detyra jonë kryesore është të sigurojmë cilësi të lartë të mallrave të blera në faqen tonë të internetit. Ne zgjedhim me kujdes çdo produkt për të siguruar besueshmërinë dhe pajtueshmërinë e tij me të gjitha kërkesat e nevojshme.
Një nga avantazhet kryesore të faqes sonë është këshilla profesionale përpara se të blini çdo produkt. Ne e kuptojmë se çdo klient është unik, dhe secili ka karakteristikat dhe nevojat e veta. Prandaj, ne ofrojmë mundësinë për të marrë këshilla të kualifikuara nga specialistë të cilët do tju ndihmojnë të zgjidhni produktin e duhur për ju.