2011-03-28 117 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