如何解决INSERT上的SQL注入
注入可能发生在任何无法正常运行的sql语句上。
例如,让我们假设您的注释表有两个字段,一个整数ID和一个注释字符串。因此,您将INSERT
如下所示:
INSERT INTO COMMENTS VALUES(122,'I like this website');
考虑有人输入以下评论:
'); DELETE FROM users; --
如果仅将注释字符串放入sql中而不进行任何处理,则可能会将您的注释字符串转换INSERT
为以下两个语句,后跟一个注释:
INSERT INTO COMMENTS VALUES(123,''); DELETE FROM users; -- ');
这将从users
表中删除所有内容。而且有些人愿意花一整天的时间通过反复试验和各种技巧来找到合适的表名以清空。 这是有关如何执行SQL
Injection攻击的说明。
您需要使用参数化的SQL语句来防止这种情况。
这不仅是出于安全原因。例如,如果您天真地创建sql语句,则以下注释:
I'm just loving this website
解决方法
我已经在我们公司的Intranet上创建了一个小型调查网页。无法从外部访问此网页。
表单只是几个单选按钮和一个注释框。
我想保持良好的编码习惯,并谨防SQL注入。
SQL注入是否可以在带有文本框注释的插入语句上发生?如果是这样,我如何使用.NET 2.0进行防护?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。