我想保护数据库免受 SQL 注入攻击,我注意到帖子http://www.dascode.net/post/2009/11/01/An-example-of-how-to-check-for-SQL -Injections.aspx很有用。
这是场景(我正在使用实体框架)
1) 用户想要添加例如“我想选择一本书,然后打开它并获取一个字符”之类的评论。
代码片段(示例):
string commVal = "lorem";
using(DB ctx = new DB())
{
Comment c = new Comment { Value = commVal };
ctx.Comment.Add(c);
ctx.SaveChanges();
}
如您所见,这不是 SQL 注入,但该字符串包含不需要的单词 - select
, open
, char
。那么,防止 SQL 注入的唯一方法是在不需要的单词周围添加引号?