Показать сообщение отдельно

  #9  
Старый 26.06.2008, 10:58
Whirt
Участник форума
Регистрация: 24.06.2008
Сообщений: 105
Провел на форуме:
674665

Репутация: 276
По умолчанию

Примеры запрета браузеров по USER-AGENT через файл .htaccess можно посмотреть здесь:
_http://www.javascriptkit.com/howto/htaccess13.shtml .

Все остальное (тот же блок по IP) легко реализуется через PHP. Если надо - обращайся, напишу тебе такой скриптик.


======
UPD
======


Если кому понадобиться, но лень читать весь последующий флейм/непонимание товарища TLS, вот ответы на поставленные вопросы:

Блокировка по User-Agent: прописать в .htaccess
Код:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} Mozilla\/4.0
RewriteRule ^.* - [F,L]
Блокировка диапазона по маске IP
PHP код:
<?
/* IPADDR BanMask Filter Script by Whirt

                __     __        __
     .--.--.--.|  |--.|__|.----.|  |_
     |  |  |  ||     ||  ||   _||   _|
     |________||__|__||__||__|  |____|

                [Antichat.ru]


// ваши бан-маски. синтаксис приведен ниже  //
// XXX - все адреса диапазона текущего октета */
$banmask[] = "87.XXX.XXX.XXX";
$banmask[] = "166.66.XXX.XXX";
$banmask[] = "157.150.123.XXX";
$banmask[] = "137.112.10.17";


function 
check_deny($mask)
{
 
$idx preg_match("#(.*)\.(.*)\.(.*)\.(.*)#"$mask$ban_args);
 
$idx preg_match("#(.*)\.(.*)\.(.*)\.(.*)#"$_SERVER["REMOTE_ADDR"], $ip_args);
 for(
$x=1;$x<=4;$x++)
 {
 if ((
$ban_args[$x] == $ip_args[$x]) || $ban_args[$x] == "XXX")
 return 
"banned";
 return 
"clear";
 }
}
foreach (
$banmask as $key)
{
 if (
check_deny($key)=="banned")
 {
 
header("HTTP/1.0 403 Forbidden"); die("<html><h1>403 - Forbidden</h1>You dont have access to this server</html>");
 }
}

?>

Последний раз редактировалось Whirt; 26.06.2008 в 18:03..
 
Ответить с цитированием