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?