Na forum pojawiają się pytania jak sprawdzić odwiedziny robotów nie mająć dostępu do logów. Może warto było by umieścić gdzieś w widocznym miejscu ten prosty skrypt zapisujący wizyty robotów w pliku tekstowym. Nie jest to może to samo co logi ale u mnie działa.
<?
$robot=array("firefox", "analyzer", "arena.pl", "arachnofilia", "aspseek", "check", "crawl", "googlebot", "google", "bot", "gooru", "infoseek", "inktomi", "lycos", "msnbot", "netoskop", "NetSprint", "openfind", "onet", "roamer", "robot", "rover", "robozilla", "scooter", "search", "siphon", "siphon", "slurp", "spider", "sweep", "szukaj", "szukacz", "walker", "WebStripper", "webspider", "wisenutbot", "gulliver", "validator", "yandex", "ask jeeves", "moget@", "teomaagent", "infoNavirobot", "PPhpDig", "gigabaz", "Webclipping.com", "RRC", "netmechanic", "yahoo! slurp", "yandex",);
$file="logi.txt";
$openlogs=fopen("$file", "a");
$cnt = count($robot); # raz obliczamy ilosc elementow w tablicy, niepotrzebnie robiles to za kazda kolejna iteracja
for($i=0; $i < $cnt; $i++)
{
if(eregi($robot[$i], $_SERVER['HTTP_USER_AGENT']))
{
$content=date("r") . " | Wyszukiwarka: " . $robot[$i] . " (" . $_SERVER['HTTP_USER_AGENT'] . ") | IP: " .$_SERVER['REMOTE_ADDR']."rn";
if($openlogs && flock($openlogs,LOCK_EX)) { # sprawdzamy czy mamy uchwyt do pliku i jesli mamy to zakladamy blokade
fwrite($openlogs, $content);
flock($openlogs, LOCK_UN); #po wszystkim blokade zdejmujemy
} else {
die('nie udalo siem'); #konczymy dzialanie jesli plik nie zostal otwarty lub jesli nie mozna bylo zalozyc blokady
}
break;
}
}
fclose($openlogs); # zamykamy plik po zakonczeniu iteracji tablicy
?>
"firefox" jest dodany tylko dla sprawdzenia skryptu. Jak wszystko będzie działać można go usunąć. Po wejściu firefoxem na stronę ze skryptem w pliku logi.txt powinna zapisać się o tym informacja.
Plik logi.txt powinien mieć ustawiony atrybut do zapisu a najlepiej chmod 777 a można go przeglądać np. z poziomu przeglądarki
Proste ale działa.
Oczywiście listę robotów można poszerzyć
A zapis w pliku wygląda tak