Je ne l'ai jamais aimé envelopper la fonctionEst-ce que filter_var est suffisant pour nettoyer l'entrée entière pour les requêtes MySQL PHP?
mysql_real_escape_string
autour de l'entrée, je pense être entier à inclure dans une requête MySQL. Récemment, je suis tombé sur le
filter_var
fonction. Agréable!
J'utilise actuellement le code:
if (isset($idUserIN)
&& filter_var($idUserIN, FILTER_VALIDATE_INT)
&& 0 < filter_var($idUserIN, FILTER_SANITIZE_NUMBER_INT)
) {
$idUser = filter_var($idUserIN, FILTER_SANITIZE_NUMBER_INT);
$sql = 'SELECT * FROM TABLE_NAME WHERE idUser = '.$idUser;
} else {
// handle invalid data
}
Est-ce laisser des trous ouverts?
(« > 0 » choisi plutôt que « > = 0 » comme une table champ auto_increment, de sorte que 0 ne serait pas une valeur normale)