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 .