这个问题已经有了答案:
Will using LINQ to SQL help prevent SQL injection
3个答案
假设我有这门课:
public class MyObject
{
public string Name { get;set;}
}
在进行db调用以查看是否存在具有名称的项时,我会执行以下操作:
public List<MyObject> ListObjectsByName(string _myObject)
{
var objectQry = from object in db.MyObject
where object.Name == _myObject
select object;
if(!objectQry.Any())
{
return null;
}
return objectQry.ToList();
}
我想通过解析
_myObject
字符串来阻止对数据库的任何有害尝试,这样,如果小丑试图获取所有*DELETE
myobjects,我的应用程序就不会崩溃。我在用MVC4。有办法吗? 最佳答案
这不是问题。实体框架不只是将字符串放入查询的中间。不管绳子里有什么。不会发生SQL注入攻击。
你自己试试看。