这个问题已经有了答案:
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字符串来阻止对数据库的任何有害尝试,这样,如果小丑试图获取所有*DELETEmyobjects,我的应用程序就不会崩溃。我在用MVC4。有办法吗?

最佳答案

这不是问题。实体框架不只是将字符串放入查询的中间。不管绳子里有什么。不会发生SQL注入攻击。
你自己试试看。

10-08 15:14