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

Dois-je mysql_real_escape_string le mot de passe saisi dans le formulaire d'inscription ?

Eh bien, il y a un malentendu majeur.

mysql_real_escape_string() ne le fait pas propre n'importe quoi. Cela n'a rien à voir avec la sécurité.

Cette fonction est utilisée uniquement pour échapper les délimiteurs et rien de plus. Cela peut vous aider à mettre des données de chaîne dans une requête SQL - c'est tout.

Ainsi, chaque chaîne que vous allez mettre en requête (en la mettant entre guillemets), vous devez la préparer avec cette fonction. Dans tous les autres cas, cela serait inutile ou même nuisible.

Ainsi,
de ce malentendu, vous commettez ici 2 erreurs majeures :

  • vous n'utilisez pas cette fonction avec des données qui vont réellement à la requête
  • vous pouvez gâcher votre mot de passe en y ajoutant des symboles, ainsi, il deviendra inutilisable

De plus, en remarque, veuillez garder à l'esprit que cette fonction doit toujours être utilisée en conjonction avec mysql_set_charset, ou sinon un "_real_" une partie de cette fonction devient inutile