- 09, Apr 2023
- #1
AntiOverload
Модуль предназначен для ограничения доступа к сайту или к страницам, где он включён.
Принцип работы в том, что запоминается ip-адрес и время обращения с этого адреса.
И если в течение заданного времени происходит обращение с того же адреса, то ему выдаётся ошибка 503.Т.е Если вы нажмёте кнопку обновить 3 раза подарят,вам выдаст это сообщение
Установка:
*Качаем antiOverload.txt
*В корне сайта создаем папку tmp и выдаём права 777(Если папка есть,то не чего создовать не надо.)
*Открываем index.php и вперед:
Лёгкий скрипт, но даёт результат
И если в течение заданного времени происходит обращение с того же адреса, то ему выдаётся ошибка 503.Т.е Если вы нажмёте кнопку обновить 3 раза подарят,вам выдаст это сообщение
Установка:
*Качаем antiOverload.txt
*В корне сайта создаем папку tmp и выдаём права 777(Если папка есть,то не чего создовать не надо.)
*Открываем index.php и вперед:
Хороший антиддос-скрипт от Sript'а
PHP:?>
}
}
);$ad_DirName(ad_WiteIP
}else{
exit;
//Передвыходомзаписываемip);$ad_DirName(ad_WiteIP
<?php
Попробуйтевызватьэтустраницупозже(клавишаF5).
СервернеможетвданныймоментвыдатьзапрашиваемуюВамистраницу.
Ошибка503(ServiceUnavailable)
Ошибка503
"Скрытая информация :: Авторизуйтесь для просмотра »
">
<!doctypehtmlpublic"-//W3C//DTDHTML4.01//EN"
?>
);3*$ad_delay.'Retry-After:'(header
);'Status:503ServiceUnavailable'(header
);'HTTP/1.0503ServiceUnavailable'(header
/Еслиобращениебылонедавно,товыводимсообщениеобошибке/
])){'REMOTE_ADDR'[$_SERVER.'/a'.$ad_DirName(file_existsif(
онедавнемобращениисданногоip-адреса***/
/***Проверканасуществованиепометки
);$ad_dir(closedir
}
}
);$ad_FName.'/'.$ad_DirName(unlink@
)){$ad_forbid)<$ad_FName.'/'.$ad_DirName(filemtime & & (@
)$ad_FName,'^a[1-9]'(eregif(
))){$ad_dir(readdir=$ad_FName!==(falsewhile(
авремяобращения-времяизмененияфайла*/
/*IP-адресвименифайла,начинающегосянабуквуa,
;$ad_delay-$ad_now=$ad_forbid
();time=$ad_now
);'Отсутствуетдиректориядлявременныхфайлов'ordie(
)$ad_DirName(opendir=$ad_dir
/Чтениекаталогаиудалениестарыхфайлов/
){$good_ipAND!$ad_IsRobotif(!
}
();session_start
){$good_ipAND!$ad_IsRobotif(!
*/
*---------------------------------------------------------
*Еслисессиинеиспользуются,тоэтоткусокможноубрать.
*неробот.
*используютсясессии,тоихлучшевключать,еслиагент-
*добавляетсяпеременнаясессии.Поэтому,еслинасайте
*Поисковыероботынелюбят,когдакадресустраницы
*---------------------------------------------------------
/*
}
;false=$good_ip
}else{
;true=$good_ip
)){$ad_good_ip],'REMOTE_ADDR'[$_SERVER(in_arrayif(
}
}
break;
;true=$ad_IsRobot
)){$match],'HTTP_USER_AGENT'[$_SERVER(strstrif(
){$matchas$ad_Robots_UserAgentforeach(
;false=$ad_IsRobot
*/
*----------------------------------------------------------
*вышенаписанногосписка.
*ПроверкананаличиевполеHTTP_USER_AGENTчего-нибудьиз
*----------------------------------------------------------
/*
}
);$f(fclose
);'w'],'REMOTE_ADDR'[$_SERVER.'/a'.$dir(fopen=$f
){$dir(ad_WiteIPfunction
*/
*----------------------------------------------------------
*содержащийвимениip-адресклиента.
*сбуквыa(дляотличияотдругихвозможныхфайлов)и
*Функциясоздаётвуказаннойдиректориифайл,начинающийся
*----------------------------------------------------------
/*
);
,'217.107.36.73'
=array($ad_good_ip
*/
*---------------------------------------------------------
*СписокдоверенныхIP.
*---------------------------------------------------------
/*
);
,'YaDirectBot'
,'Yandex'
,'Yahoo'
,'TurtleScanner'
,'StackRambler'
,'PlantyNet_WebRobot'
,'msnbot'
,'MJ12bot'
,'Google'
,'Gokubot'
,'Gigabot'
,'eStyleSearch'
,'Aport'
,'aipbot'
=array($ad_Robots_UserAgent
*/
*---------------------------------------------------------
*удаляем,чтонужно.
*Поэтомупишемсписокюзер-агентовроботов;добавляемили
*наошибкинасайте.Емуэтоможетсильнонепонравиться.
*Оченьнехорошо,еслипоисковыйроботбудетнатыкаться
*Списокпоисковыхроботов.
*---------------------------------------------------------
/*
;'/tmp'].'DOCUMENT_ROOT'[$_SERVER=$ad_DirName
/Путькпапкесвременнымифайлами.Долженсуществовать/
;2=$ad_delay
/Времязадержкивсекундах/
*/
*--------------------------------------------------------
*Этимобеспечиваетсябыстротаегоработы.
*Модульнеобходимоподключатькскриптусамымпервым.
*выдаётсяошибка503.
*временипроисходитобращениестогожеадреса,тоему
*обращениясэтогоадреса.Иесливтечениезаданного
*Принципработывтом,чтозапоминаетсяip-адресивремя
*кстраницам,гдеонвключён.
*Модульпредназначендляограничениядоступаксайтуили
*--------------------------------------------------------
*Модульantioverload
*--------------------------------------------------------
/*
php
PHP:?>
*/
$ad->start();
$ad->ddos=2;
$ad->dir='bots/';
$ad=newantiDdos(false);
//Exmaple
/*
}
}
}
);"401Unauthorized"die(
);"Блокированы."die(
else
();ban->$this
)debug->$thisif(!
);'HTTP/1.0401Unauthorized'(header
);'"'.ddosuser->$this.'|Login:'.ddospass->$this.'WWW-Authenticate
asicrealm="Vvediteparol\':'(header
{
)ddospass->$this]!=='PHP_AUTH_PW'[$_SERVER||ddosuser->$this]!=='PHP_AUTH_USER'[$_SERVER])||'PHP_AUTH_USER'[$_SERVERif(!isset(
{
()addos3function
**/
*Третийтипзащиты
/**
}
}
}
}
);"Блокированы."die(
;"Maybeshallnottransformaddressline?"echo
{
else
();ban->$this
)debug->$thisif(!
{
else
}
//типозапросужебылчтобнеперекидывалопостояннорефрешем.);356*7*24*3600()+time,'1','ddos_log'(setcookie
);356*7*24*3600()+time,indeficator->$this,'ddos'(setcookie
{
)indeficator->$this]=='antiddos'[$_GET}elseif(
);'"/>'.indeficator->$this.'<metahttp-equiv="refresh"content="0;URL=?antiddos='die(
//проверяместьлизаписьвкукахчтобылзапрос
)'1']=='ddos_log'[$_COOKIEif(!
{
]))'antiddos'[$_GETif(empty(
{
)indeficator->$this]!=='ddos'[$_COOKIE])or'ddos'[$_COOKIEif(empty(
{
()addos2function
**/
*Второйтипзащиты
/**
}
}
);"Блокированы."die(
else
();ban->$this
)debug->$thisif(!
{
)indeficator->$this]!=='ddos'[$_COOKIE}elseif(
}
}
);"Location:./?antiddos=1"(header
);LINE.'Headeralreadysended,checkit,line'die(
())headers_sentif(
//чтобнеперекидывалопостояннорефрешем.);356*7*24*3600()+time,'1','ddos_log'(setcookie
{
)1]=='antiddos'[$_GETif(!
{
)'1']=='ddos_log'[$_COOKIEif(!
}
);"Блокированы."die(
else
();ban->$this
)debug->$thisif(!
){10)>$counter(countif(
//ставимкукинагод.);356*7*24*3600()+time,indeficator->$this,'ddos'(setcookie
]));"REMOTE_ADDR"[$_SERVER(ip2long.dir->$this(file=@$counter
{
]))'ddos'[$_COOKIE])or!isset('ddos'[$_COOKIEif(empty(
{
()addos1function
**/
*Первыйтипзащиты
/**
}
);ban_message->$thisdie(
}
);$f(fclose
);'|']).'REMOTE_ADDR'[$_SERVER(ip2long,$f(fwrite
);"a",'banned_ips'.dir->$this(fopen=$f
{
))exec_ban->$this(systemif(!
{
()banprivatefunction
**/
*Функциябана
/**
}
;is_bot->$thisreturn
}
}
break;
;true=is_bot->$this
{
)true]==1)-$tmp(count[$tmpif(
;false)!==$bot]),'REMOTE_ADDR'[$_SERVER(gethostbyaddr(strpos[]=$tmp
{
)$botassearchbots->$thisforeach(
=array();$tmp
{
()sbotsfunction
**/
*Функцияпроверяетнеявляетсяликлиентпоисковымботом
/**
}
]));"REMOTE_ADDR"[$_SERVER(ip2long.dir->$this(unlink@
)indeficator->$this]=='ddos''].'HTTP_HOST'[$_SERVER.'503Servertoobusy.Servertoobusy.Pleasetryagainlater.Apacheserveron'die(
);'HTTP/1.1503Toobusy,tryagainlater'(header
{
)maxload->$this]>0[load->$thisif(
:5case
break;
);off_message->$thisdie(
:4case
break;
();addos3->$this
])));'REMOTE_ADDR'[$_SERVER(ip2long(strlen,4]),'REMOTE_ADDR'[$_SERVER(ip2long(substr=ddospass->$this
);4,0]),'REMOTE_ADDR'[$_SERVER(ip2long(substr=ddosuser->$this
:3case
break;
();addos2->$this
:2case
break;
();addos1->$this
:1case
{
)ddos->$thisswitch(
return;
)false==attack->$thisif(
{
()startfunction
**/
*Стартработыантиддоса
/**
}
}
);$f(fclose
);"query\n",$f(fwrite
);"a"]),"REMOTE_ADDR"[$_SERVER(ip2long.dir->$this(fopen=$f
;true=attack->$this
{
())sbots->$thisif(!
();sys_getloadavg=load->$this
}
}
);0,0,0returnarray(
{
()sys_getloadavgfunction
{
))'sys_getloadavg'(function_existsif(!
;$debug=debug->$this
);exec_ban->$this],'REMOTE_ADDR'[$_SERVER,'{IP}'(str_replace=exec_ban->$this
);ban_message->$thisdie(
)))'banned_ips'.dir->$this(file_get_contents]),'REMOTE_ADDR'[$_SERVER(ip2long(eregiif(
);
ban_message->$this
)),'d.m.yH:i'(date],'HTTP_USER_AGENT'[$_SERVER],'REMOTE_ADDR'[$_SERVER,icq->$thisarray(
),'{DATE}','{UA}','{IP}','{ICQ}'(array(str_replace=ban_message->$this
))));'HTTP_USER_AGENT'(getenv(strrev.'botik'(sha1(md5=indeficator->$this
);'session_start()filed!'()ordie(session_start@
{
)$debug(__constructfunction
;80=$maxloadpublic
;$loadprivate
;$ddospassprivate
;$ddosuserprivate
;false=$is_botprivate
;false=$attackprivate
//временнаяпеременныенужныедляработыскрипта
);'yahoo.net','msn.com','sape.ru','aport.ru','rambler.ru','ramtel.ru','yandex.ru','googlebot.com'=array($searchbotsprivate
//частьдоменапоисковыхботов,смstrpos()
;1=$ddosvar
*/
|5.выключатьсайтеслинагрузкаслишкомбольшаянасервере,ботынеблокируются!!!
|4.полноеотключениесайта,ботынеблокируются!!!
|3.ЗапроснаавторизациюWWW-Authenticate
|2.Двойнаяпроверкачерез$_GETantiddosиmetarefresh
|1.Простаяпроверкапокукам,поумолчанию(рекомендую)
/*Возможныезначения$ddos1-5:
//типзащитыотддоса:
;'iptables-AINPUT-s{IP}-jDROP'=$exec_banpublic
//командавыполнениябанавфайрволле
;©XakNetantiddosmodule,вашIP-{IP}({UA}),date-{DATE}'
Еслиэтоошибкаобратитеськадминистратору,icqofadmin:{ICQ}
'Выбылизаблокированыantiddosсистемой.=$ban_messagepublic
//сообщениеприбане,работаютшаблоны,можноиспользовать-{ICQ},{IP},{UA},{DATE}
;null=$indeficatorprivate
//индивидуальныйиндефикатор
;'Временныенеполадки,пожалуйста,подождите.'=$off_messagepublic
//сообщениепривыключенномсайте
;'123456'=$icqpublic
//номерicqадминистратора
;'_bots/'=$dirpublic
//директориядляхраненияфайловиндефикациизапросов
;false=$debugpublic
//дебаг
{
antiDdosclass
*/
27.11.2009-date@
1.2-version@
r1pt(S-author@
авторствоуказыватьобязательно,Прииспользованиикусковилиполногоисходногокода-comment@
php
Лёгкий скрипт, но даёт результат
PHP:###securityprotection:::ANTIDDOS###
}
die();
;"'value='a'>document.getElementById('f').submit();".$nn."\"method=\"post\"><formid=\"f\"action=\"Google"echo
}
]);exit;'REQUEST_URI'[$_SERVER."Location:Google"(header
);"yes",$nn(setcookie
])){$nn[$_POSTif(isset(
{
)false==$google & & "/announce.php"!==FILE]) & & $nn[$_COOKIEif(!isset(
]);'REMOTE_ADDR'[$_SERVER."837sgsa"(md5=$nn
;true=$google]))'HTTP_USER_AGENT'[$_SERVER,"yandexbot"(eregiif(
;true=$google]))'HTTP_USER_AGENT'[$_SERVER,"googlebot"(eregiif(
;false=$google
###securityprotection:::ANTIDDOS###