Scripts

Bot Logger Special

Ik kwam laats het volgende script tegen: http://www.phphulp.nl/php/scripts/7/102/ en wat denk ik dan: - Waarom niet direct meerdere bots tegelijk controleren. - Waarom niet in een bestand schrijven Punt 1 even GOoglen en daar komt http://www.robotstxt.org/wc/active/html/type.html naar boven verbazend dat YAHOO er niet tussen staat dus moet YAHOO anders werken, maar hoe dan ook staat MSN er wel tussen dus die heb ik toegevoegd verder intreseerden me de andere (mini)-zoekmachines niet. Kom er net pas achter dat de $BOTS arary op zich overbodig is, maar mischien kan iemand er nog wel wat mee doen. (Dit script is moeilijk te testen zonder hem een paar maanden lang te laten draaien dus heb ik tijdens het testen maar MOZZILA als "bot" toegevoegd, maar grote kans dat er bugs zijn.)

bot-logger-special
<?php
 $bot[0] = "MSN";
$bots[0] = "MSNBOT/0.1 (http://search.msn.com/msnbot.htm)";
 $bot[1] = "google";
$bots[1] = "Googlebot/2.X (+http://www.googlebot.com/bot.html)";
// See http://www.robotstxt.org/wc/active/html/type.html for more Bots
$method = "log"; //mail or log
  //If     LOG
 $logfile="log.txt";
  //If     Mail
 $mail  = "[email protected]";
 
 $totalbots=count($bot) - 1;
for($i = 0;$i <= $totalbots;$i++){
    if (eregi($bot[$i], $_SERVER['HTTP_USER_AGENT'])){ 
            $onderwerp = $bot[$i]." Bezocht Uw Site."; 
             $msg = ucfirst($bot[$i])." heeft jou website bezocht!\n\n";      
             $msg .= "Bezocht op: " . date("d.m.Y H:i") . "\n\n";          
             $msg .= "Ip adres: " . $_SERVER['REMOTE_ADDR'] . "\n"; 
             $msg .= "Hostname: " . gethostbyaddr($_SERVER['REMOTE_ADDR']) . "\n"; 
             $msg .= "LongName: " . $_SERVER['HTTP_USER_AGENT'] . "\n\n";
            
        if($method=="log"){
             $msg .="--------------------------------------------------------------\n\n"; 
             $file = fopen($logfile,"a");
             $filec = fwrite($file,$msg);
             fclose($file);
             
            if(!$filec){
                $mailc = mail($mail, $onderwerp, $msg, "From: [email protected]"); 
            }
        }elseif($method=="mail"){
            $mailc = mail($mail, $onderwerp, $msg, "From: [email protected]");
            if($mailc == ""){
                 $msg .="--------------------------------------------------------------\n\n"; 
                $file = fopen($logfile,"a");
                fwrite($file,$msg);
                fclose($file);
            }
        }
    }
}
?>

Reacties

0
Nog geen reacties.