1. PHP / Говнокод #9601

    +152

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    <?php 
         // сначала получим строку с сервера с параметрами о клиенте 
    $user_agent = $_SERVER["HTTP_USER_AGENT"]; 
         // применим функцию, о этой функции здесь 
    $user_arr = detect_browser ($user_agent); 
         // $BName - это имя броузера (Explore) 
    $BName = $user_arr[0]; 
         // $BVersion - его модификация (6.0) 
    $BVersion = $user_arr[1]; 
         // $BPlatform - операционная система пользователя (Windows 98) 
    $BPlatform = $user_arr[2]; 
         // $Brobot - имя робота, если это робот. (Rambler) 
    $Brobot = $user_arr[3]; 
         // если зашёл робот - тормозим его 
     if ($BName == 'Robot'){ sleep (10);} 
         // следующую ссылку робот не увидит 
     if ($BName != "Robot") {echo"ссылка, которая роботу не видна";} 
    
         // если нет строки указывающий броузер, значит пришёл робот
    if ( $_SERVER["HTTP_USER_AGENT"] == '' ) {  
    print "Ваш броузер не определён, выключите сетевой экран, если это невозможно, то отправьте нам Ваш Ip адрес, для внесения в     базу, допущенных Ip."; 
    $BName = 'Robot'; 
    }
    
         // если нет некоторых заголовков, которые делают обычные
         // броузеры, значит пришёл робот
     if (
         $_SERVER['HTTP_ACCEPT']=='' or
         $_SERVER['HTTP_ACCEPT_ENCODING']=='' or
         $_SERVER['HTTP_ACCEPT_LANGUAGE']=='' or
         $_SERVER['HTTP_CONNECTION']==''
         ){ $BName = 'Robot';  }
    
         // если пользователь скачал более 300 страничек нашего сайта
         // и наша программа говорит , что это броузер
         // останавливаем программу
     if ( $hits> 300 and $BName != 'Robot' ){  $BName = 'Robot bad';    exit ; }
    
         // функция считывает файл и 
         // составляет регулярное выражение
     function base_for_search ($path){ 
         $path =  str_replace ("\r","",  trim (  implode ("", @file ($path))));
         return "~(" .  str_replace ("\n","|",  preg_quote ($path,"~")) . ")~i"; 
         }
         // строка, которую будем искать 
         // в $_SERVER["HTTP_USER_AGENT"]
    $search = base_for_search ($base_robot);
         // если нашли, значит хороший робот,
         // то даём скачивать хоть сколько страниц
     if (  preg_match ( $search, $path, $arr_r ) ) { 
         print "разрешённые поисковики";
         }
         // если не нашли, значит бэд поисковик, 
         // даём скачать только 50 страниц
     elseif ($hits> 50){ $BName = 'Robot bad'; exit ; } 
    ?>

    Определение поискового робота. Скрипт взят с сайта: http://omsk777.ru/robotbad.html

    Запостил: good_web_master, 04 Марта 2012

    Комментарии (9) RSS

    • теперь то точно никакие роботы не восстанут
      Ответить
    • >Определение поискового робота
      >omsk777
      ure welcome
      Ответить
    • людям больше 300 страниц в руки нк отдаем.

      И ТИШИНА ДОЛЖНА БЫТЬ В БИБЛИОТЕКЕ!
      Ответить
    • >>отправьте нам Ваш Ip адрес
      Это волшебно.
      Ответить
    • помоему юзер-агент это далеко не показатель робота.. только сегодня игрался со строкой юзер-агента, маскировался под разных роботов.
      Ответить
    • мой броузер есть делать заголовки!

      а, это ж омичи...
      Ответить
    • // $BName - это имя броузера (Explore)
      $BName = $user_arr[0];
      // $BVersion - его модификация (6.0)

      ппц
      Ответить
    • if($robot) die("death to all humans, bro");
      Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий