Админские блоги Юрца

PHP-скрипт, отсеивающий плохих ботов

Иногда так случается, что кто-то очень сильно хочет хакнуть ваш сайт... Юзает всякие приблуды, которые ищут на сайте "дыры" или просто ddos-ят...

Как правило это можно понять по логам Apache - кто куда и откуда лезет... вариант - забанить IP - вариант, но не универсальный... Вредных ботов можно банить с помощью не сложного PHP-скрипта, вставляем скрипт в главный испоняемый файл движка (после функции session_start) и постепенно наращиваем черный список ботов..

Как работает скрипт - проверяет - не проверяли ли мы еще данный коннект к сайту, если нет - то перебираем массив с ботами, если нашли соответствие в UserAgent и имя бота в массиве - выдаем ему 403-ю ошибку - тип обломись, для себя помечаем - что мы отработали и больше по массивам бегать не будем, следовательно - не будем лишний раз нагружать сервер.

 

//Антибот - от плохих ботов:
if (!@$_SESSION['check_bot']){
   $badbots=array('MJ12bot', 'Wget');//Собсно список
   $count = count($badbots);
   for($x=0; $x<$count; $x++){
      $pos1 = stripos($_SERVER['HTTP_USER_AGENT'], $badbots[$x]);
      if ($pos1 !== false) {
         header('HTTP/1.1 403 Forbidden');
         die('403');
      }else{
     $_SESSION['check_bot']=1;
}
}
}

Понравилась статья? Поделитесь с друзьями: