2012-04-30 4 views

Répondre

11

Je crois mysql_real_escape_string() mysqli_real_escape_string() est la meilleure façon d'échapper à des données d'entrée

modifier plus tard puisque tout est dépréciée maintenant et l'information doit être valide:

Essayez d'utiliser PDO comme les instructions préparées sont beaucoup plus sûrs ou mysqli_*() functions si vous avez vraiment besoin de garder l'ancien code quelque peu à jour.

+9

Je dirais que le passage de vos chaînes en tant que paramètres aux déclarations préparées est plus sûr. – eggyal

+0

Je les utilise également actuellement – frops

+0

Je suis d'accord avec eggyal. – Menztrual

4
validMySQL($var) { 
$var=stripslashes($var); 
$var=htmlentities($var); 
$var=strip_tags($var); 
$var=mysql_real_escape_string($var); 
return $var 
} 

Le code ci-dessus permet de désinfecter les données les plus invalides, rappelez-vous juste que vous avez à être connecté à la base de données MySQL pour mysql_real_escape_string travailler ...

3

Actuellement, la manière la plus préférée pour assurer votre sécurité est déclarations préparées.

exemple:

$preparedStatement = $db->prepare('SELECT * FROM memebers WHERE username = :username'); 

$preparedStatement->execute(array(':username' => $username)); 

$rows = $preparedStatement->fetchAll(); 

puis lors de l'affichage de vos données utilisent htmlspecialchars()

Questions connexes