Est-ce que mysql_real_escape_string
suffit pour nettoyer les entrées de l'utilisateur dans la plupart des situations?PHP: mysql_real_escape_string est-il suffisant pour nettoyer les entrées utilisateur?
:: EDIT ::
Je pense surtout en termes de prévention de l'injection SQL, mais je veux finalement savoir si je peux faire confiance les données utilisateur après je demande mysql_real_escape_string ou si je devrais prendre des mesures supplémentaires pour nettoyer la données avant de le transmettre autour de l'application et des bases de données.
Je vois où le nettoyage des caractères HTML est important mais je ne le considérerais pas comme nécessaire pour faire confiance à l'entrée de l'utilisateur.
T
XSS est un énorme problème, si vous l'ignorez vous demandez des problèmes de grandeur égale. Vous devez valider sur le chemin, mais si vous ne supprimez pas javascript lorsque vous affichez du contenu utilisateur, il est vraiment, vraiment trivial de faire des choses comme détournement de session et attaques XSS qui est franchement plus facile à utiliser que l'injection SQL, mais est un peu plus récent pour que les gens ne l'obtiennent pas encore. –
'mysql_real_escape_string' est uniquement destiné à protéger contre les injections SQL. Pour les autres vulnérabilités, vous avez besoin d'autres outils. – Gumbo
@Gumbo mysql_real_we_really_mean_it_this_time_escape_string couvrirait ces cas. Quand il est ajouté dans un proche avenir. – David