Skocz do zawartości

Skrypt do lapania botów odwiedzających strone.


jamesisko

Rekomendowane odpowiedzi

  • Odpowiedzi 129
  • Dodano
  • Ostatniej odpowiedzi

Od kilku dni walczę z tym skryptem. Includowałem go na stronie głownej na końcu pliku html. Odpaliłem instalacje, utworzyła się tabela roboty w bvazie danych. Ale nadal nie są zliczane żadne odwiedziny robotów https://www.maciek.kom.pl/roboty.php

Chyba znalazłem błąd w kodzie php w pliku roboty.php

function create_roboty() 

{ 

  global $DB, $tab_roboty; 

     $sql = " 

     CREATE TABLE IF NOT EXISTS roboty

Z czy nie powinno być zamiast $tab_roboty; - $lab_roboty; ?

I czy w pliku lap_roboty.php

$roboty[] .= trim(""); 



*/ 



if(!eregi("213.180.128", $_SERVER['REMOTE_ADDR'])) 

{ 

  for($ry=0;$ry<count($roboty);$ry++)

       

213.180.128 - trzeba zamienić na adres swojego serwera?

Najlepsze spolszczenia do gier w Polsce!!!

Odnośnik do komentarza
Udostępnij na innych stronach

co do pierwszego kodu to racja, ale powinno dziala bo i tak jest tworzona baza roboty i potem jest zapisywanie do roboty.

co do lapania bota LV - heh, wystarczy dodac jesgo identyfikator do tablicy z robotami.

Wiecie jak sie przedstawia?

czy tylko samo IP?

Odnośnik do komentarza
Udostępnij na innych stronach

Wiecie jak sie przedstawia?

Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5)

IP nr 216.217.213.141, 216.217.213.142 i 216.217.213.148

Chyba jeszcze 216.217.228.213 (taki sam UA).

Twój skrypt Jamesisko jest super! Używam go w prawie wszystkich serwisach (np. tu: https://tinyurl.com/7kc74 ).

Odnośnik do komentarza
Udostępnij na innych stronach

tak wygląda mój lap_roboty.php, po wyedytowaniu:


<?

include("conf.php");



$roboty[] = trim("Googlebot");

$roboty[] .= trim("msnbot");

$roboty[] .= trim("Szukacz");

$roboty[] .= trim("Gigabot");

$roboty[] .= trim("LWP::Simple");

$roboty[] .= trim("EmeraldShield");

$roboty[] .= trim("Nokia");

$roboty[] .= trim("SonyEricsson");

$roboty[] .= trim("WorldWideWeb");

$roboty[] .= trim("updated");

$roboty[] .= trim("pipeLiner");

$roboty[] .= trim("appie");

$roboty[] .= trim("fukuiben");

$roboty[] .= trim("sohu-search");

$roboty[] .= trim("DELTASCAN");

$roboty[] .= trim("ZoomSpider");

$roboty[] .= trim("SurveyBot");

$roboty[] .= trim("ia_archiver");

$roboty[] .= trim("ichiro");

$roboty[] .= trim("ShowTags");

$roboty[] .= trim("CydralSpider");

$roboty[] .= trim("Holmes");

$roboty[] .= trim("UP.Browser");

$roboty[] .= trim("SiteXpert ");

$roboty[] .= trim("lwp-trivial/1.40");

$roboty[] .= trim("BecomeBot");

$roboty[] .= trim("NetSprint");

$roboty[] .= trim("Slurp");

$roboty[] .= trim("IRLbot");

$roboty[] .= trim("OmniExplorer_Bot");

$roboty[] .= trim("EasyD");

$roboty[] .= trim("NetResearchServer");

$roboty[] .= trim("LmCrawler");

$roboty[] .= trim("Missigua Locator");

$roboty[] .= trim("TurnitinBot");

$roboty[] .= trim("boitho.com-dc");

$roboty[] .= trim("NMG Spider");

$roboty[] .= trim("NutchCVS/0.06-dev");

$roboty[] .= trim("PlantyNet_WebRobot");

$roboty[] .= trim("NP");

$roboty[] .= trim("GetURL");

$roboty[] .= trim("Gooru");

$roboty[] .= trim("alltheweb");

$roboty[] .= trim("almaden");

$roboty[] .= trim("architext");

$roboty[] .= trim("jeeves");

$roboty[] .= trim("augurfind");

$roboty[] .= trim("baiduspider");

$roboty[] .= trim("bdcindexer");

$roboty[] .= trim("crawler@fast");

$roboty[] .= trim("crawl");

$roboty[] .= trim("directhit");

$roboty[] .= trim("docomo");

$roboty[] .= trim("fast-webcrawler");

$roboty[] .= trim("fluffy");

$roboty[] .= trim("frooglebot");

$roboty[] .= trim("geobot");

$roboty[] .= trim("gulliver");

$roboty[] .= trim("infoseek");

$roboty[] .= trim("hotbot");

$roboty[] .= trim("lycos");

$roboty[] .= trim("scooter");

$roboty[] .= trim("inktomi");

$roboty[] .= trim("Mediapartners-Google");

$roboty[] .= trim("Link-Vault");

$roboty[] .= trim("mcc-sys.com");

$roboty[] .= trim("vault");



/*



w tym miejscu mozna dodawac swoje roboty, wg powyzszego wzroru.







*/



if(!eregi("213.180.128", $_SERVER['REMOTE_ADDR']))

{

  for($ry=0;$ry<count($roboty);$ry++)

  {

     if(eregi($roboty[$ry], $_SERVER["HTTP_USER_AGENT"]))

     {

        $dat = date("Y-m-d G:i:s");

        $user_agent = $_SERVER["HTTP_USER_AGENT"];

        $remote_addr = $_SERVER["REMOTE_ADDR"];

        $indeksowany_adres = $_SERVER["HTTP_HOST"];

        $indeksowany_adres .= $_SERVER["REQUEST_URI"];

        

        if(strpos($indeksowany_adres, "PHPSESSID") === false)

        {

           $sql_roboty = "insert into roboty (data, bot, ip, url) values('$dat', '$user_agent', '$remote_addr', '$indeksowany_adres')";

           $DB->query($sql_roboty);   

        }

     }

  }

}

elseif(eregi("213.180.128", $_SERVER['REMOTE_ADDR']))

{

  $dat = date("Y-m-d G:i:s");

        $user_agent = $_SERVER["HTTP_USER_AGENT"];

        $remote_addr = $_SERVER["REMOTE_ADDR"];

        $indeksowany_adres = $_SERVER["HTTP_HOST"];

        $indeksowany_adres .= $_SERVER["REQUEST_URI"];

        

        if(strpos($indeksowany_adres, "PHPSESSID") === false)

        {

           $sql_roboty = "insert into roboty (data, bot, ip, url) values('$dat', '$user_agent', '$remote_addr', '$indeksowany_adres')";

           $DB->query($sql_roboty);   

        }

}





?>

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

- podane rozwiazanie jest dla sytuacji gdzie wszytkie pliki sa w tym samym miejscu gdzie jest index.php. Mozna bawic sie na katalogi, ale to odpowiednio trzeba zmienic sciezki.

Czyli, jeśli chcemy łapać roboty w poszczególnych katalog, np. jest tam plik index.php. To wystarczy wstawic tam:

<? include("../lap_roboty.php"); ?> 

?

Polecam katalog SeoPark.pl, katalog AK47 (5 lata w sieci) ...oraz Wirtualne-miasta.eu
"Dopóki nie skorzystałem z Internetu, nie wiedziałem, że na świecie jest tylu idiotów" - Stanisław Lem

Odnośnik do komentarza
Udostępnij na innych stronach

o co chodzi w tym:

   //aby dzialalo, nalezy w pliku php, tym wlasciwym przypisac wartosci ponizszym zmiennym globalnym,np:

  

  global $db_host, $db_user, $db_passwd, $db_name;



  $this->blad = $err;





  $this->hostname = $db_host;

  $this->username = $db_user;

  $this->password = $db_passwd;

  $this->dbname = $db_name; 

?

Odnośnik do komentarza
Udostępnij na innych stronach

Ja tez to zauważyłem, chociaż widzę ich obecność :/ i to na dwóch serwerach.

Polecam katalog SeoPark.pl, katalog AK47 (5 lata w sieci) ...oraz Wirtualne-miasta.eu
"Dopóki nie skorzystałem z Internetu, nie wiedziałem, że na świecie jest tylu idiotów" - Stanisław Lem

Odnośnik do komentarza
Udostępnij na innych stronach

No przecież podałem parę postów wyżej, że bot LV przedstawia się jako:

Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5)

a więc aby go łapać, trzeba dopisać w pliku lap_roboty.php np. linijkę:

$roboty[] .= trim("compatible; Win32; WinHttp.WinHttpRequest.5");

a żeby mieć pewność, że to bot LV, sprawdzić, czy jego IP zaczyna się od:

216.217 https://tinyurl.com/bwck7

A najlepiej tak przerobić kod PHP lap_roboty.php, aby łapał wszystko, co nie jest przeglądarką. Ja to przerobiłem tak (nie śmiać się, nie znam się na PHP, grunt, że to działa ;) ):

<?php



include("conf.php"); 



if(strpos($_SERVER["HTTP_USER_AGENT"], "MSIE") !== false) echo ''; 

elseif(strpos($_SERVER["HTTP_USER_AGENT"], "Opera") !== false) echo ''; 

elseif(strpos($_SERVER["HTTP_USER_AGENT"], "Netscape") !== false) echo '';  

elseif(strpos($_SERVER["HTTP_USER_AGENT"], "Firefox") !== false) echo ''; 

elseif(strpos($_SERVER["HTTP_USER_AGENT"], "Gecko") !== false) echo ''; 

else { 

  $dat = date("Y-m-d G:i:s"); 

  $user_agent = $_SERVER["HTTP_USER_AGENT"]; 

  $remote_addr = $_SERVER["REMOTE_ADDR"]; 

  $indeksowany_adres = $_SERVER["HTTP_HOST"]; 

  $indeksowany_adres .= $_SERVER["REQUEST_URI"]; 

        

  if(strpos($indeksowany_adres, "PHPSESSID") === false) { 



     $sql_roboty = "insert into roboty (data, bot, ip, url) values('$dat', '$user_agent', '$remote_addr', '$indeksowany_adres')"; 

     $DB->query($sql_roboty);    

  } 

}



?>

Wtedy skrypt łapie dosłownie wszystko, co tylko przeleci przez nasze strony ;) .

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności