C# 防止对字符串上的数据库进行有害调用
假设我有这门课:C# 防止对字符串上的数据库进行有害调用,c#,asp.net-mvc,database,entity-framework,C#,Asp.net Mvc,Database,Entity Framework,假设我有这门课: 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 == _
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();
}
公共列表ListObjectsByName(字符串\u myObject)
{
var objectQry=来自db.MyObject中的对象
其中object.Name==\u myObject
选择对象;
如果(!objectQry.Any())
{
返回null;
}
返回objectQry.ToList();
}
我想通过解析
\u myObject
字符串来阻止对我的数据库的任何有害尝试,这样,如果小丑试图获取所有*删除myObject,我的应用程序就不会崩溃。我使用的是MVC4。有什么办法吗?这不是问题。实体框架不只是将字符串放入查询的中间。不管串里有什么。不会有SQL注入攻击
你自己试试看。这不是问题。实体框架不只是将字符串放入查询的中间。不管串里有什么。不会有SQL注入攻击
您自己试试看。LINQ阻止SQL注入(您正试图阻止的)。这个问题应该回答您的所有问题:LINQ阻止SQL注入(您正试图阻止的)。这个问题应该能回答你所有的问题:在某种程度上,你是对的。我确实在*删除名称下保存了我的项目。谢谢我在哪方面不对?在某种程度上,你是对的。我确实在*删除名称下保存了我的项目。谢谢在什么方面我是不对的?你可能应该先测试一下这是否是一个问题,然后再发布这个问题。嗯,并不是我没有测试它,而是我觉得我想防止任何损坏。我对使用实体框架还不熟悉。在发布这个问题之前,你应该测试一下这是否是一个问题。嗯,并不是我没有测试它,而是我觉得我想防止任何损坏。我不熟悉使用实体框架。哦,我一定会读到的!谢谢哦,我一定会读到的!谢谢