Dot-Net
如何在我的 ASP.NET 應用程序中避免 SQL 注入攻擊?
我需要避免在我的 ASP.NET 應用程序中容易受到 SQL 注入的影響。我怎麼能做到這一點?
即使您的問題非常籠統,但始終適用一些規則:
- 使用參數化查詢(
SqlCommandwithSqlParameter)並將使用者輸入放入參數中。- 不要根據未經檢查的使用者輸入建構 SQL 字元串。
- 不要假設您可以建構一個可以檢查使用者輸入的各種格式錯誤的清理程序。邊緣情況很容易被遺忘。檢查數字輸入可能很簡單,可以保證您的安全,但對於字元串輸入,只需使用參數。
- 檢查二級漏洞 - 如果這些值包含使用者輸入,則不要從 SQL 表值建構 SQL 查詢字元串。
- 使用儲存過程來封裝數據庫操作。