Prosty skrypt w PHP, który rejestruje i zapisuje wejścia botów: Googlebot’a, Yahoo czy innych w zależności od konfiguracji. Aby uruchomić skrypt należy utworzyć plik stats.php i wkleić do niego poniższy kod:
stats.php
<?php
// funkcja która sprawdza czy odwiedzający jest botem, jeżeli jest zwraca true
function is_bot(){
$roboty = array('google','yahoo','msn');
$regex = '('.implode($roboty, ')|(').')';
return eregi($regex, $_SERVER['HTTP_USER_AGENT']);
}
// jeżeli odwiedzający jest botem wykonywany jest poniższy kod
if (is_bot()){
//zapisanie ip do zmiennej
$ip = $_SERVER['REMOTE_ADDR'];
//zapisanie hosta do zmiennej
$host = gethostbyaddr($ip);
//nazwa pliku na pdostawie daty
$file_name=date("Y-m-d").".log";
//pobranie agenta jakim sie przedstawia bot
$user_agent=$_SERVER['HTTP_USER_AGENT'];
//pobranie nazwy url którego odwiedził bot
$url=$_SERVER["REQUEST_URI"];
//stworzenie linijki wpisuj
$wpis=date("Y-m-d H:i:s")." | ".$host." | ".$ip." | ".$url." | ".$user_agent."\n";
//sciezka zapisu pliku logowania
$nazwa_pliku = "logi/$file_name";
//jeżeli plik istnieje dopisanie linijki wpisu, jezeli nie, stworzenie i dopisanie linijki wpisu
if (file_exists($nazwa_pliku)) {
$plik = fopen($nazwa_pliku, 'a');
fputs($plik,$wpis);
fclose($plik);
} else {
$pk = fopen($nazwa_pliku, 'w');
fputs($pk,$wpis);
fclose($pk);
}
}
?>
Teraz wystarczy dodać skrypt na każdej stronie czy podstronie na której chcemy widzieć czy wchodził jakiś bot.
<php
include ('stats.php');
?>
0 komentarzy.