Mysql
 sql >> Base de données >  >> RDS >> Mysql

fonction pour nettoyer l'entrée de la base de données Mysql

htmlentities() n'est pas nécessaire pour sécuriser les données pour SQL. Il est utilisé lors de l'écho des valeurs de données dans la sortie HTML, pour éviter les vulnérabilités XSS. C'est également un problème de sécurité important dont vous devez tenir compte, mais ce n'est pas lié à SQL.

addslashes() est redondant avec mysql_real_escape_string. Vous vous retrouverez avec des barres obliques inverses littérales dans vos chaînes dans la base de données.

N'utilisez pas de guillemets magiques. Cette fonctionnalité est obsolète depuis de nombreuses années. Ne déployez pas de code PHP dans un environnement où les guillemets magiques sont activés. S'il est activé, désactivez-le. S'il s'agit d'un environnement hébergé et qu'il ne désactivera pas les guillemets magiques, choisissez un nouveau fournisseur d'hébergement.

N'utilisez pas ext/mysql . Il ne prend pas en charge les paramètres de requête, les transactions ou l'utilisation OO.

Mise à jour :ext/mysql a été déprécié dans PHP 5.5.0 (2013-06-20) et supprimé dans PHP 7.0.0 (2015-12-03). Vous ne pouvez vraiment pas l'utiliser.

Utilisez PDO , et sécurisez vos requêtes en utilisant des requêtes préparées .

Pour plus de détails sur l'écriture de code SQL sécurisé, lisez ma présentation SQL Injection Myths and Erreurs .