/*** Класс проверки и блокировки 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 '
Mod kerja: 24/7
|
Penerimaan permohonan: 24/7
Ampang
Petunjuk untuk digunakan:
Daripada kencing manis
Borang keluaran:
Kapsul
Terbaik sebelum tarikh:
2 tahun
Keadaan penyimpanan:
Simpan pada suhu tidak melebihi 25 ° C. Jauhkan daripada kanak-kanak
Syarat cuti:
Di kaunter
Jumlah dalam pakej:
30 pcs
Pembungkusan:
Lepuh
Beli Diabetol caps - kapsul untuk diabetes di Ampang terbaik di laman web rasmi pengeluar - PerfectFresh! Kami hanya mempunyai yang asli Diabetol caps! Harga - 149 RM! Anda boleh memesan pada bila-bila masa sepanjang hari dengan penghantaran yang cepat di Ampang!
Dapatkan perundingan pakar percuma dengan mengisi borang dengan butiran hubungan anda. Pakar kami yang berkelayakan akan memberikan anda maklumat lengkap tentang produk dan membantu anda memilih keadaan yang paling sesuai!
Pengendali kami akan menghubungi anda dalam masa 5-10 minit
Masukkan kod pengesahan daripada pembungkusan untuk menyemak keaslian produk.
Di laman web kami, pembelian sentiasa menguntungkan, kerana kami suka menggembirakan pelanggan kami dengan promosi dan diskaun menarik yang berterusan.
Apabila anda membeli-belah di laman web kami, anda boleh yakin bahawa kami hanya menyediakan pilihan penghantaran terpantas dan paling dipercayai. Kami memastikan pesanan anda berada di tangan anda secepat mungkin dan dalam keadaan sempurna.
Keutamaan kami adalah kepercayaan pelanggan. Ia terbentuk berkat kualiti barangan yang tinggi di laman web kami, interaksi yang selamat dan mudah dengan kedai kami, serta tahap perkhidmatan perundingan pra-pembelian yang terbaik.
Kami berusaha untuk memberikan pelanggan kami nasihat yang terbaik dan memastikan mereka yakin bahawa mereka membuat keputusan yang betul.