【Django】Django 直接执行原始SQL 如何防止SQL注入 ?

代码示例:

#错误--不要直接格式化字符串
query = 'SELECT * FROM myapp_person WHERE last_name = %s' % lname
Person.objects.raw(query)

#正确--使用Django raw函数 功能进行安全转义
name = 'Doe'
Person.objects.raw('SELECT * FROM myapp_person WHERE last_name = %s', [name])

参考资料:

http://www.gowhich.com/blog/309

http://www.cnblogs.com/BeginMan/archive/2013/05/27/3101322.html

http://blog.sina.com.cn/s/blog_3fe961ae010167jl.html

原文地址:https://www.cnblogs.com/junneyang/p/5973950.html