当前位置:   article > 正文

Django原生数据库操作及防止SQL注入_django防sql注入

django防sql注入

注:能用ORM肯定要用ORM,不推荐用原生,面试也不会考这些,了解一下就行。 

一、直接使用原生语句

方法1(错误方法) 

 方法2(正确方法)

总结:

如果用第一种方法自己拼接,得到的SQL语句为:select * from book where id = 3 or 1=1; 由于1=1永远是True,所以会输出所有的数据

如果用第二种方法,得到的SQL语句是:select * from book where id='3 or 1=1'; 即:id等于了一个字符串,由于Django有一个潜规则,就是它会找第一个int类型的值,所以id=3。不过注意:如果是‘33 or 1=1’,则id=33

二、原生数据库操作之cursor 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/533832
推荐阅读
相关标签
  

闽ICP备14008679号