Skocz do zawartości

Botix - monitoring odwiedzin botów na Twoich stronach.


Sylwin

Rekomendowane odpowiedzi

Botix

monitoring odwiedzin botów

Napisałem prosty system monitorowania odwiedzin botów na podstronach serwisu oparty w całości o 1 plik .txt i 1 .php :)

Botix składa się z 2 plików: boty.php i boty.txt

Odczytywanie (w kolejności od najnowszych do najstarszych wejść botów) w formie tabeli odbywa się po otworzeniu pliku: boty.php?zobacz=tak

Instalacja:

Utwórz plik: boty.txt i nadaj mu prawa CHMOD 666

Kod pliku boty.php:

<style>
table {
font-family: verdana;
font-size: 11px;
color: #FFFFFF;
}
table a {
font-family: verdana;
font-size: 11px;
color: #FFFFFF;
text-decoration: none;
}
</style>

<?php
$botyplik = "boty.txt";

$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");

for($i=0;$i<count($roboty);$i++)
{
if(eregi($roboty[$i], $_SERVER["HTTP_USER_AGENT"]))
{
$data = date("Y-m-d G:i:s");
$bot = $_SERVER["HTTP_USER_AGENT"];
$adres = $_SERVER["HTTP_HOST"];
$adres .= $_SERVER["REQUEST_URI"];
$plik = @fopen("$botyplik", "a+");
if ($plik) {
flock($plik, LOCK_EX|LOCK_NB);
fwrite($plik,"$data|$bot|$adres\n");
flock($plik, LOCK_UN);
fclose($plik);
}
}
}

if($_GET['zobacz']=='tak'){
$plik = file("$botyplik");
echo"<table border='1' cellpadding='0' cellspacing='0' style='border-collapse: collapse' bordercolor='#999999' width='800' bgcolor='#808080'>";
for($i=count($plik); $i>-1; $i--){
$podziel = explode("|",$plik[$i]);
$data = $podziel[0];
$bot = $podziel[1];
$adres = $podziel[2];
echo"
 <tr>
<td width='20%'><center>$data</center></td>
<td width='40%'><center>$bot</center></td>
<td width='40%'><center><a style='text-decoration: none' target='_blank' href='https://$adres'>$adres</center></td>
 </tr>
";
}
echo"</table>";
}
?>

System napisałem dlatego, iż wiele osób nie ma czasu na tworzenie baz itp. i zależy im na szybkiej instalacji takiego systemiku.

Nie jestem autorem spisu robotów - wkleiłem go z jakiegoś skryptu opartego o bazę danych (był gdzieś wcześniej na tym forum) mam nadzieję że autor się nie obrazi :P

Zapraszam do instalacji !!!

Pozdrawiam

Sylwin

Odnośnik do komentarza
Udostępnij na innych stronach

Przydało by sie zablokować plik, zmniejsza to szanse na awarię :lol:

@fopen .... //jak plik bedzie zablokowany to nie wyświetlam komunikatu bledu

flock($fp, LOCK_EX|LOCK_NB);

fputs($fp, $data);

flock($fp, LOCK_UN);

Przy dużym natężeniu ruchu plik bedzie za duży aby dało sie go otwożyć przez file(...)

Dlatego jakie by dane nie były lepiej pchac do bazy, co nie znaczy ze w pliku jest zle, jak ktoś jest swiadomy problemów związanych z plikami nie ma problemu.

Ostatnio nawet szukałem osoby która mi cos napiszę (system wymiany linków) ale tak aby baza była w plikach.

To wszyscy "profesionaliści" ze oni piszą tylko "profesionalne skrypty" z profesionalnymi bazami danych !!! najczęściej mysql

(jezlili tą baze mozna nazwac profesionalna ;))

Odnośnik do komentarza
Udostępnij na innych stronach

Pisałem kiedyś taki systemik ;) essystem.go.pl w całości na plikach - zajęło mi to godzinke. Myślę że napisanie systemu wymiany na plikach tekstowych jest realne aczkolwiek trzeba troszkę nad tym posiedzieć aby nie był dziurawy.

Odnośnik do komentarza
Udostępnij na innych stronach

Szybsze i bezpieczniejsze będzie takie rozwiązanie.

Do zapisu:

$data = "durny robot :)\n";
$fp = @fopen('file.txt', "a+");
if ($fp) {
flock($fp, LOCK_EX|LOCK_NB);
fputs($fp, $data);
flock($fp, LOCK_UN);
fclose($fp);
}

Do odczytu:

$fp = @fopen('file.txt', "r");
if ($fp) {
flock($fp, LOCK_EX|LOCK_NB);
	while (!feof($fp)) {
		$return .= fgets($fp, 4096);
	}
flock($fp, LOCK_UN);
fclose($fp);
echo nl2br($return);
}

Polecam linki stałe w Seomatik.pl oraz dopalacz stron Gotlink.pl.

obrazek.jpg

Odnośnik do komentarza
Udostępnij na innych stronach

Kiedyś przygotowałem system rejestracji bootow oparty na bazie SQLlite pozbawiony takich niedogodności jak system Sylwina.

Demo -> System rejestracji botów wyszukiwarek

Download -> Pobierz

Więcej w moim poście -> TutEj :)

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

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