/*** Класс проверки и блокировки 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 '
Radni sati: Stalno
|
Obrada narudžbe: danonoćno
Szombathely
Indikacije za upotrebu:
Za zglobove
Obrazac za otpuštanje:
Gel
Najbolje prije datuma:
2 godine
Uvjeti skladištenja:
Čuvati na temperaturi ne višoj od 25 ° C. Čuvati izvan dohvata djece
Uvjeti odmora:
Bez recepta
Volumen:
80 ml
Količina u paketu:
1 kom
Ambalaža:
Cijev
Kupiti OstyHealth - gel za zglobove u Szombathelyu najbolji u trgovini proizvođača - MyFirstBrand! Samo ovdje OstyHealth uvijek na zalihi! Cijena - 12900 Ft! Možete naručiti u bilo koje doba dana uz brzu dostavu u Szombathelyu!
Ostvarite besplatne konzultacije ostavljajući svoje podatke u obrascu. Reći ćemo vam sve o ovom proizvodu i ponuditi najbolje uvjete, kao i obavijestiti vas o svim trenutnim promocijama!
Nazvat ćemo vas u roku 10 minuta
Unesite kod s pakiranja u polje za unos kako biste provjerili autentičnost proizvoda.
Neprestano oduševljavamo svoje kupce odličnim ponudama i popustima kako bi kupnja na našoj web stranici bila još isplativija.
Nakon što napravite narudžbu na našoj web stranici, dajemo sve od sebe da vam je dostavimo što je brže moguće. Dostava u prosjeku traje 3 dana, a zahvaljujući našim skladištima u vašoj zemlji, svoju narudžbu ćete dobiti još brže.
Možete biti potpuno sigurni u kvalitetu robe koju kupujete na našoj web stranici. Pažljivo pregledavamo svaki artikl prije slanja kako bismo osigurali najvišu razinu kvalitete.
Naš cilj je pomoći kupcima da naprave pravi izbor pri kupnji proizvoda, osiguravajući sigurnost i učinkovitost naših proizvoda. Nakon što izvršite narudžbu, naš stručnjak će vas kontaktirati kako bi vas savjetovao o svim vašim pitanjima i pružio informacije koje će vam omogućiti postizanje maksimalne učinkovitosti.