0 votes

Quand mysql_real_escape_string() est-il nécessaire ?

Est mysql_real_escape_string() con sprintf nécessaire uniquement à la page de connexion ou à chaque mysql_query après la connexion, pour prévenir l'injection SQL ?

6voto

Pekka 웃 Points 249607

Vous devriez utiliser mysql_real_escape_string() chaque fois que vous insérez des données postées par l'utilisateur dans une requête, ou utiliser un wrapper de base de données comme AOP qui peut faire des déclarations préparées. Ce serait mieux, car ils font le travail de désinfection pour vous.

Si vous travaillez sur la sécurité globale de votre site, c'est une excellente chose et c'est absolument nécessaire. Si vous cherchez les raisons pour lesquelles votre site a été piraté, je doute qu'il s'agisse d'une injection SQL, car c'est votre code HTML qui a été touché (du moins, c'est ce que je pensais, mais je peux me tromper). Cela ne serait possible que si votre mot de passe FTP était stocké quelque part dans la base de données.

5voto

JadziaMD Points 584

Vous devez utiliser mysql_real_escape_string pour toutes les données fournies par l'utilisateur qui vont être exécutées par une requête SQL.

3voto

JCasso Points 2822

Utilisez-le lorsque vous ne faites pas confiance au entrée . Et ne jamais faire confiance à une entrée utilisateur.

-1voto

Gaʀʀʏ Points 1391

En cualquier que vous acceptez l'entrée de l'utilisateur, vous devez utiliser la fonction mysqli_real_escape_string sur elle avant de l'envoyer à la base de données. C'est une bonne idée d'utiliser trim() sur l'entrée également.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X