Script til blokering af mange hits
Hej folkensNedenstående script returnere en 403 hvis en bestemt ip-adresse har lavet mere end 100 server requests til en php-side. Ulempen ved scriptet er dog at det udelukker ipadresser der gerne må besøge sitet i det uendelige. Mit spg er, hvordan lader jeg f.eks. alle googles ip-adresser (66.249.64.000 - 66.249.95.255) passere uden at blive blokket efter 100 hits? Kan nogen hjælpe med at skrive det ind i scriptet?
Håber I kan hjælpe!
------------------------------------------
$ip = $_SERVER['REMOTE_ADDR'];
$entrypage = $_SERVER['REQUEST_URI'];
$lastpage = $_SERVER['REQUEST_URI'];
$referer = $_SERVER['HTTP_REFERER'];
$firstvisit = date('Y-m-d H:i:s');
$useragent = $_SERVER['HTTP_USER_AGENT'];
$fetch = mysql_query("SELECT ip, useragent FROM iplogging WHERE ip ='".$ip."'") or die(mysql_error());
if ( mysql_num_rows($fetch) == 0 )
{
mysql_query("INSERT INTO iplogging(ip,visits,entrypage,referer,firstvisit,useragent) VALUES('$ip','1','$entrypage','$referer','$firstvisit','$useragent')") or die(mysql_error());
} else {
mysql_query("UPDATE iplogging SET lastpage='$lastpage',visits=visits+1 WHERE ip = '$ip'") or die(mysql_error());
}
$result = mysql_query("SELECT ip,visits FROM iplogging WHERE ip = '".$ip."'");
$row = mysql_fetch_array($result);
if($row[visits]>=100){
$filename = ".htaccess";
$fp = fopen($filename,'a+');
fwrite($fp,"deny from $ip \r\n");
fclose($fp);
}
--------------------------
På forhånd tak - tanx