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

Requête MySQL non insérée lorsque la variable PHP contient des guillemets simples

Envisagez d'utiliser des requêtes paramétrées en utilisant PDO par exemple.

Vous pouvez également placer vos variables entre crochets { }.

Modifier :

J'ai raté votre variable $subject contient Guillemets simples. Cela signifie que vous devez leur échapper. (Voir la myriade d'autres réponses et mysql_real_escape_string() à ce sujet.) Mais comme vous pouvez le voir, les guillemets simples à l'intérieur de la variable sont exactement la façon dont les attaques par injection fonctionnent. Leur échappement permet d'éviter de tels problèmes et permet à votre requête de stocker les données attendues.

Aucune réponse sur les attaques par injection n'est complète sans référence à Bobby Tables .