2011-03-28 97 views

回答

6

它产生,使用 “参数化查询” 的SQL,它们不会受到传统的SQL注入

http://msdn.microsoft.com/en-us/library/bb386929.aspx

问:如何在LINQ to SQL中从 SQL注入攻击的保护?

A. SQL注入一直是通过连接用户输入 形成传统的SQL查询 一个 显著风险。 LINQ to SQL通过在 查询中使用SqlParameter避免了这样的 注入。用户输入变为 参数值。这种方法 防止恶意命令从客户使用的是 inpu

0

是的,因为参数作为参数传递给它生成的SQL传递。

0

部分??是的,完全? NO。它就是你设计应用程序的方式,如果你只在编译查询时使用LINQ,那么你是安全的,但是如果你打算根据不同的标准构建adhoc queires,那么当你在你的程序上执行adhoc queires时,你特别容易受到SQL注入的影响datacontext的。

+0

什么是特别查询? – frenchie 2011-03-28 05:15:36

+0

@frenchie:你通过在你的代码中连接sql字符串来构建,比如string query =“select * from Employee Where empID =”+ txtEmpID.text; – 2011-03-28 05:21:00