Salve, recentemente sui miei file di log ho trovato diverse sorprese ed ho quindi preparato questo script da includere in ogni pagina php del mio sito:

Codice PHP:
<?
$bad_client 
= array ("Mozilla/3.0 (compatible; Indy Library)","Microsoft Data Access Internet Publishing Provider Protocol Discovery",
"Gigabot","Gigabot/2.0","Microsoft-WebDAV-MiniRedir/5.1.2600","Sgrunt",
"Microsoft Data Access Internet Publishing Provider Cache Manager",
"DigExt");

$lenght count($bad_client);

for (
$i=0$i<=$lenght$i++){

if (
preg_match("/$bad_client[$i]/" ,$HTTP_USER_AGENT)){
echo 
"<html><body><center><h2>Client Software non gradito</h2></center> 
A causa di ripetuti abusi il software, [b]
$bad_client[$i][/b] non è gradito da questo sito
</body></html>"
;
exit;
    }
}

?>
ma non funziona bene come vorrei, ed ho questi messaggi di errore:


Warning: Unknown modifier '5' in (indirizzo omesso) on line 11

Notice: Undefined offset: 8 in (indirizzo omesso) on line 11

Notice: Undefined offset: 8 in (indirizzo omesso) on line 13

credo che il problema sia in preg_match, qualcuno può darmi una mano?