var awdoc=document.location.href; if (awdoc.match(/^http/i)!=null) { document.write(''); } EOF; print "\n"; exit; } // Block some hosts foreach($hostBlocking as $hostname) { $ip = gethostbyname($hostname); if($ip == $_SERVER["REMOTE_ADDR"]) { exit; } } // Block some IPs foreach($ipBlocking as $ip) { if($ip == $_SERVER["REMOTE_ADDR"]) { exit; } } //print "Content-Type: text/plain\n\n"; // Seems buggy in browsers if(isset($_SERVER{"REDIRECT_STATUS"}) && $_SERVER{"REDIRECT_STATUS"} >= 400) { $httpcode = $_SERVER{"REDIRECT_STATUS"}; $_SERVER{'DOCUMENT_URI'} = $_SERVER{'REDIRECT_URL'}; $_SERVER{'DOCUMENT_URI'} .= "?$_SERVER{'REDIRECT_QUERY_STRING'}"; print "\n\n$httpcode Error\n\n\n"; print "

$httpcode Error


\n"; if ($_SERVER{"REDIRECT_STATUS"} == 404) { print "The requested page does not exist.\n"; } print "\n\n"; $lt = localtime(time()); $time = sprintf("[%02d/%s/%04d:%02d:%02d:%02d $timezone]",$lt[3],$MonthLib[$lt[4]],$lt[5]+1900,$lt[2],$lt[1],$lt[0]); $fd = fopen ($logfile, "a"); if(!$fd) { print "Could not open $logfile for writing"; exit; } fputs($fd, $_SERVER["REMOTE_ADDR"]." - - $time \"GET ".$_SERVER{'REQUEST_URI'}." ".$_SERVER["SERVER_PROTOCOL"]."\" ".$_SERVER{'REDIRECT_STATUS'}." - \"".($_SERVER{'HTTP_REFERER'}?$_SERVER{'HTTP_REFERER'}:'-')."\" \"".($_SERVER{'HTTP_USER_AGENT'}?$_SERVER{'HTTP_USER_AGENT'}:'-')."\"\n"); fclose($fd); exit; } foreach(split("&", $_SERVER["QUERY_STRING"]) as $pair) { $namval = split("=", $pair); $FORM[$namval[0]] = preg_replace("/ /","+",URLdecode($namval[1])); } if(isset($FORM['reset']) && $FORM['reset'] > 0) { reset_log(); exit; } # Check and/or Define value for time, FORM{'loc'}, FORM{'size'}, FORM{'ref'} $lt = localtime(time()); $time = sprintf("[%02d/%s/%04d:%02d:%02d:%02d $timezone]",$lt[3],$MonthLib[$lt[4]],$lt[5]+1900,$lt[2],$lt[1],$lt[0]); if(!isset($FORM['loc'])) # Should not happen { $FORM['loc'] = ''; } else { $FORM['loc'] = preg_replace("/^http:\/\/.*?\//", "/", $FORM['loc']); } if((!isset($FORM['ref'])) || $FORM['ref']=='') { $FORM['ref'] = '-'; } if((!isset($FORM['size'])) || $FORM['size']=='' || $FORM['size']=='undefined') { $FORM['size'] = '-'; } $fd = fopen ($logfile, "a"); if(!$fd) { print "Could not open $logfile for writing"; exit; } flock($fd, LOCK_EX); # Lock // Example of $_SERVER["QUERY_STRING"] here: // loc=/js/awstats_misc_tracker.js // loc=/index.php $posAwStats = strpos($_SERVER["QUERY_STRING"], "awstats_misc_tracker.js"); if (! ($posAwStats === false)) { // Log for awstats_misc_tracker.js //$awsMiscTracker = substr($_SERVER["QUERY_STRING"], $posAwStats); $awsMiscTracker = ereg_replace("loc=","",$_SERVER["QUERY_STRING"]); $awsMiscTracker = preg_replace("/%([a-fA-F0-9][a-fA-F0-9])/e", pack("C", chr(hexdec("$1"))), $awsMiscTracker); fputs($fd, $_SERVER["REMOTE_ADDR"]." - - $time \"GET ".$awsMiscTracker." ".$_SERVER["SERVER_PROTOCOL"]."\" 200 ".$FORM['size']." \"".$FORM['ref']."\" \"".$_SERVER["HTTP_USER_AGENT"]."\"\n"); } else { fputs($fd, $_SERVER["REMOTE_ADDR"]." - - $time \"GET ".$FORM['loc']." ".$_SERVER["SERVER_PROTOCOL"]."\" 200 ".$FORM['size']." \"".$FORM['ref']."\" \"".$_SERVER["HTTP_USER_AGENT"]."\"\n"); } flock($fd, LOCK_UN); # Unlock fclose($fd); print "document.write();"; function reset_log() { if(isset($FORM['password']) && $FORM['password']==$password) { $fd = fopen($logfile, "w"); if(!$fd) { print "Could not reset $logfile"; exit; } fclose($fd); print "LOG FILE CLEARED!"; } else { print "INVALID PASSWORD"; } } ?>