Ciao a tutti ho realizzato un piccolo script che analizzando la querystring scrive tutto in un file di log.Inoltre nel caso in cui l'utente usa dei comandi pericolosi [tipo: union,select etc...] viene bloccato...

Il codice è questo:
Codice PHP:

<?php 
// per ottenere l'url che ha generato l'errore
$where "http://$HTTP_HOST$REQUEST_URI"
$ip$_SERVER['REMOTE_ADDR'];
$query_string$_SERVER['QUERY_STRING'];
$http_referrer$_SERVER['HTTP_REFERER'];
$date=getdate();
$sec=$date['seconds'];
$min=$date['minutes'];
$hor=$date['hours'];
$mday=$date['mday'];
$mon=$date['mon'];
$year=$date['year'];
if (isset(
$where)) {
$filename"/web/htdocs/www.tuosito.it/home/logsite/log.txt";
$content="$where || $ip  || $mday/$mon/$year  ||  $hor:$min:$sec ";
$fpx fopen ($filename"w");
$fw=fwrite ($fpx$content);
fclose ($fpx); 
}
if (
stristr($query_string,'+union+') OR stristr($query_string,'%20union%20') OR
stristr($query_string,'*/union/*') OR stristr($query_string,' union ') )
{
echo 
"Hai utilizzato il comando sql UNION";
exit();
}
if (
stristr($query_string,'+select+') OR stristr($query_string,'%20select%20') OR
stristr($query_string,'*/select/*') OR stristr($query_string,' select ') )
{
echo 
"Hai utilizzato il comando sql SELECT";
exit();
}
if (
stristr($query_string,'+delete+') OR stristr($query_string,'%20delete%20') OR
stristr($query_string,'*/delete/*') OR stristr($query_string,' delete ') )
{
echo 
"Hai utilizzato il comando sql DELETE";
exit();

}
if (
stristr($query_string,'+drop+') OR stristr($query_string,'%20drop%20') OR
stristr($query_string,'*/drop/*') OR stristr($query_string,' drop ') )
{
echo 
"Hai utilizzato il comando sql DROP";
exit();

}
if (
stristr($query_string,'+insert+') OR stristr($query_string,'%20insert%20') OR
stristr($query_string,'*/insert/*') OR stristr($query_string,' insert ') )
{
echo 
"Hai utilizzato il comando sql INSERT";
exit();

}
?>
Il problema è che scrivendo sul file viene sovrascritta sempre una sola riga quindi posso visualizzare soltanto l'ultima query_string usata dall'utente!!
Ed inoltre nn riesce a bloccare l'utente,cioè anche se uso union,select etc.. non mi scrive il messaggio di errore!!
Come posso risolvere? ciao e grazie