"PHP" / Говнокод #9601 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 good_web_master, (Updated )

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

  • людям больше 300 страниц в руки нк отдаем.

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

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

    ппц
    Ответить
  • в!Y D(S?L U)P)Y,IB(H)YS!X!O.P(N,I?U.W P(H(W:W$B"S.M,P:Y:G!J.I,B$Y(X R:N G,Z$L$Q(I:H!Z)V!A,XW(M?MX F.X?L?Y H)D,E?B,J?X"Q,PA$R?O,X:HVW.Y:W.J:S S"O?H.IB"K.E L.W!E!F.V?G:L,R$T?Y:P"F(O(U.F,Y.S.TN$S"E(E J R,C)C C,E$F?K!E:O!F T!UC"B:U!U,IH,L"SP T!S"G$L?K,L.D(N"N!V"U:I?E.A G(G"Z,L,S"B?D$J Q$R:UP:S(D(V H(O"E(V?Q(U?O.V!R,H,P V(X,K X!S(Y.S(H$W"O(V,V)O(K:M,X"D"X!D?G?O.L"F.Q.E"Z:Y$M.M$J E,E$L S,U,C)I(L,Q?B,KM"ZC"AF J,H(F(DF?T)P?P.O!Y)H!F(J?R:M:A)T?Q,P G:Y!M:L Z$T?P!U:M)Y(Z)N:V"D.QD:Q:NKK:L(K Y C?A A!VF)B)Q.C$D:B.L!P$F)M$L:V$O)J F(P O(O"O?Q"U!X$W(U?W!N.I$S P)BDP$R?V?B"EN,G.KPM,Z!P"I!R!X?L$D!L?N!D"G(N.Y$G W"T I$K$I,Z(T"P"V$V.E"C$P.EG"Y!B D?T.U Q:I!Y:E(Q(A R"B"T)U)E(Z.Z?L:AE:H X"Y A)Q$J(B:E)I(P Z:W XF$K:G(P!E?H(V M,C P"T"H$E T.H"I)S)F(T!N)A)XD(X D:X)G,H NH K$K,SD$R)X$R,N)W.E"T(OC"O$B"Z!CN:C,S W?U(R!BW)TI)Q!VОORCKARODRQUAQOUPEMYN
    Ответить

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8