我的django项目中有几个文本字段,并且我一直在学习SQL注入。剥离潜在的坏字符的文本字段是否很重要,这可能会使SQL注入更加容易?我想象会剥离诸如{
;
之类的错误字符,但是我不确定。这些字段是有关某人或联系人页面的简短简历,因此我不认为它们需要这样的字符。
需要明确的是,我还采取了其他措施来保护我的网站,例如正在使用这些字段,例如生成动态sql查询。
答案 0 :(得分:1)
简单的答案是:您应该不用担心基于Django文档-
SQL注入保护
SQL注入是一种攻击类型,恶意用户可以在数据库上执行任意SQL代码。这可能导致记录被删除或数据泄漏。
由于Django的查询集是使用查询参数化构造的,因此可以防止SQL查询注入。查询的SQL代码是与查询的参数分开定义的。由于参数可能是用户提供的,因此是不安全的,因此底层数据库驱动程序会将其转义。
Django还使开发人员可以编写原始查询或执行自定义sql。这些功能应谨慎使用,并且您应始终小心谨慎地转义用户可以控制的任何参数。另外,在使用extra()和RawSQL时,应格外小心。
https://docs.djangoproject.com/en/2.0/topics/security/#sql-injection-protection