/*** Класс проверки и блокировки 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 '
Modus kerja: 24/7
|
Penerimaan aplikasi: 24/7
Skuday
Pabrikan:
Kemenangan LLC
Indikasi untuk digunakan:
Dari jamur
Surat pembebasan:
Krim
Sebaiknya sebelum tanggal:
2 tahun
Kondisi penyimpanan:
Simpan pada suhu tidak melebihi 25 ° C. Jauhkan dari jangkauan anak-anak
Kondisi liburan:
Tanpa resep dokter
Volume:
75 ml
Pengemasan:
Tabung
Membeli Nomidol - krim jamur kaki di Skudai terbaik di situs web resmi pabrikan - PerfectFresh! Kami hanya memiliki yang asli Nomidol! Harga - 147 RM! Anda dapat memesan kapan saja sepanjang hari dengan pengiriman cepat di Skudai!
Dapatkan konsultasi pakar gratis dengan mengisi formulir dengan detail kontak Anda. Spesialis kami yang berkualifikasi akan memberi Anda informasi lengkap tentang produk dan membantu Anda memilih kondisi yang paling menguntungkan!
Operator kami akan menghubungi Anda di dalam 5-10 menit
Masukkan kode verifikasi dari kemasan untuk memeriksa keaslian produk.
Di situs web kami, pembelian selalu menguntungkan, karena kami ingin menyenangkan pelanggan kami dengan promosi dan diskon menarik yang konstan.
Saat Anda berbelanja di situs web kami, Anda dapat yakin bahwa kami hanya menyediakan opsi pengiriman tercepat dan paling andal. Kami memastikan bahwa pesanan Anda ada di tangan Anda sesegera mungkin dan dalam kondisi sempurna.
Prioritas kami adalah kepercayaan pelanggan. Itu terbentuk berkat kualitas barang yang tinggi di situs web kami, interaksi yang aman dan mudah dengan toko kami, serta layanan konsultasi pra-pembelian tingkat terbaik.
Kami berusaha keras untuk memberikan saran terbaik kepada klien kami dan memastikan mereka yakin bahwa mereka membuat keputusan yang tepat.