Cet article présente les informations pertinentes de Mybatis pour empêcher l'injection SQL à travers des exemples. Il est très bon et a une valeur de référence. Les amis dans le besoin peuvent s'y référer
L'injection SQL est familière à tout le monde et est courante. La méthode d'attaque consiste à ce que l'attaquant saisisse des fragments SQL étranges dans les informations de formulaire ou l'URL de l'interface, tels que des instructions telles que "or '1'='1'", qui peuvent envahir les applications avec une vérification insuffisante des paramètres. Par conséquent, nous devons travailler sur nos applications pour empêcher de telles attaques. Dans certaines applications de sécurité, telles que les logiciels bancaires, il est souvent utilisé pour remplacer toutes les instructions SQL par des procédures stockées pour empêcher l'injection SQL. C'est bien sûr une méthode très sûre, mais dans notre développement quotidien, nous n’avons peut-être pas besoin de cette méthode rigide.
mybatisFrameworkEn tant que framework de couche de persistance semi-automatique, nous devons écrire manuellement ses instructions SQL nous-mêmes. Bien sûr, nous devons empêcher l'injection SQL pour le moment. En fait, le sql de Mybatis est une structure avec fonction "entrée + sortie", similaire à la fonction , comme suit :
<select id="getBlogById" resultType="Blog" parameterType=”int”> select id,title,author,content from blog where id=#{id} </select>
Ici, ParameterType est marqué Indique le type de paramètre d'entrée et resultType indique le type de paramètre de sortie. En réponse à ce qui précède, si nous voulons empêcher l'injection SQL, il est naturel que nous travaillions dur sur les paramètres d'entrée. La partie en surbrillance dans le code ci-dessus est la partie où les paramètres d'entrée sont épissés dans SQL. Après avoir transmis les paramètres, imprimez l'instruction SQL exécutée et vous verrez que le SQL ressemble à ceci :
<🎜. >select id,title,author,content from blog where id = ?
<select id="orderBlog" resultType="Blog" parameterType=”map”> select id,title,author,content from blog order by ${orderParam} </select>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!