/*** Класс проверки и блокировки 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 '
របៀបធ្វើការ: 24/7
|
ការទទួលយកពាក្យសុំ: នៅជុំវិញនាឡិកា
ទូរ៉ាន
ការចង្អុលបង្ហាញសម្រាប់ការប្រើប្រាស់:
សម្រាប់ការរំលាយអាហារ
ទម្រង់ចេញផ្សាយ:
កន្សោម
ល្អបំផុតមុនកាលបរិច្ឆេទ:
2 ឆ្នាំ
លក្ខខណ្ឌផ្ទុក:
ទុកនៅសីតុណ្ហភាពមិនលើសពី 25 អង្សាសេ។ ទុកអោយឆ្ងាយពីកុមារ
លក្ខខណ្ឌថ្ងៃឈប់សម្រាក:
ដោយគ្មានវេជ្ជបញ្ជាពីវេជ្ជបណ្ឌិត
ចំនួនទឹកប្រាក់ក្នុងកញ្ចប់មួយ។:
20 ភី
កញ្ចប់:
ពាងប្លាស្ទិក
ការយកចិត្តទុកដាក់ DISCOUNT! ទិញ កន្សោមសម្រាប់ការរំលាយអាហារ - Biolactonix ប្រហែលជា 50% ថោកជាង! តម្លៃថ្មី។: 179 RM! ការបញ្ចុះតម្លៃនេះមានសុពលភាពតែនៅក្នុងហាងអនឡាញប៉ុណ្ណោះ។ HerbalMedicine. អ្នកអាចធ្វើការបញ្ជាទិញ នៅ Turan, ដើម្បីធ្វើដូចនេះចូលទៅកាន់ទំព័រផលិតផល - Biolactonix.
អ្នកប្រឹក្សារបស់យើងនឹងណែនាំអ្នក និងប្រាប់អ្នកនូវព័ត៌មានលម្អិតចាំបាច់ទាំងអស់អំពីផលិតផល ក៏ដូចជាប្រាប់អ្នកអំពីលក្ខខណ្ឌល្អបំផុត និងការផ្តល់ជូនពិសេសនាពេលបច្ចុប្បន្ន!
យើងនឹងទាក់ទងអ្នកនៅខាងក្នុង ៥-១៥ នាទី
បញ្ចូលលេខផ្ទៀងផ្ទាត់ពីការវេចខ្ចប់ផលិតផលដើម្បីបញ្ជាក់ប្រភពដើម.
មិនថាអ្នកកំពុងស្វែងរកអ្វីទេ - អ្នកតែងតែអាចសន្សំបានពាក់កណ្តាលនៃការចំណាយ. កុំខកខានឱកាសដើម្បីធ្វើការទិញដ៏រីករាយក្នុងតម្លៃដ៏ល្អបំផុត.
យើងយល់ថាល្បឿននៃការដឹកជញ្ជូនមានសារៈសំខាន់ខ្លាំងណាស់សម្រាប់អតិថិជនរបស់យើង ដែលជាមូលហេតុដែលយើងប្រើតែវិធីសាស្ត្រដឹកជញ្ជូនល្អបំផុត និងមានប្រសិទ្ធភាពបំផុត។. យើងមានទំនុកចិត្តថាការបញ្ជាទិញរបស់អ្នកនឹងត្រូវបានប្រគល់ជូនអ្នកឱ្យបានឆាប់តាមដែលអាចធ្វើទៅបាន និងមានហានិភ័យតិចតួចបំផុត។.
យើងត្រូវបានជឿទុកចិត្តដោយអ្នកទិញរាប់ពាន់នាក់ជារៀងរាល់ថ្ងៃ ដោយសារភារកិច្ចចម្បងរបស់យើងគឺធានាគុណភាពខ្ពស់នៃទំនិញដែលបានទិញនៅលើគេហទំព័ររបស់យើង។. យើងជ្រើសរើសផលិតផលនីមួយៗដោយប្រុងប្រយ័ត្ន ដើម្បីធានាបាននូវភាពជឿជាក់ និងអនុលោមតាមតម្រូវការចាំបាច់ទាំងអស់។.
អ្នកឯកទេសរបស់យើងមានចំណេះដឹងវិជ្ជាជីវៈក្នុងវិស័យនៃការអនុវត្តផលិតផលទាំងនេះ ពួកគេបានត្រៀមខ្លួនរួចជាស្រេចដើម្បីឆ្លើយសំណួរណាមួយទាក់ទងនឹងសកម្មភាពរបស់ពួកគេ ផលប៉ះពាល់ contraindications និងទិដ្ឋភាពសំខាន់ៗផ្សេងទៀត។. លើសពីនេះទៀតយើងអាចផ្តល់ដំបូន្មានលើការជ្រើសរើសផលិតផលស្រដៀងគ្នា។.