io prima di tutto uso una mia funzione come questa per i GET e POST
Codice PHP:
/** Converte i dati in UTF-8 come entita html
*
* Questa funzione preleva la variabile passata e lo restituisce
* modificato x evitare le injection. tutti i caratteri particolari vengono strasformati
* come entita html (Es: + diventa %2b). Se viene passato il valore opzionale regexp, viene eseguito
* un test con la reg exp passata.
*
* <code>
* $GET=CleanInjection($_GET["var"],"[A-Za-z]{1,}");
* # Esegue anche una verifica che il dato $_GET["var"] sia di sole lettere.
* </code>
*
* @param string $Request valore da parsare
* @param string $RegExp valore [i]OPZIONALE[/i] che permette di eseguire una verifica sui dati con una regexp.
* @return boolean true in caso di successo
*/
function CleanInjection($Request=false,$RegExp="")
{
$Charset="UTF-8";
if(VarExist($Request)==true)
{
if(VarExist($RegExp)==true)
{
/*Eseguo la RegExp*/
if(@preg_match("/".$RegExp."/",$Request,$outPut)!=1)
{return false;}
}
$Request=htmlentities($Request,ENT_QUOTES,$Charset);
return $Request;
}else{return false;}
}
Codice PHP:
$NewPost=CleanInjection($_POST["variabile"]);
ti metto anche il commento inserito utile se parsi il codice con il PhpDocumentator.