在.Net環境下使用C#防止SQL注入式攻擊,我們的解決方式是:
1、首先在UI錄入時,要控制數據的類型和長度、防止SQL注入式攻擊,系統提供檢測注入式攻擊的函數,一旦檢測出注入式攻擊,該數據即不能提交;
2、業務邏輯層控制,通過在方法內部將SQL關鍵字用一定的方法屏蔽掉,然後檢查數據長度,保證提交SQL時,不會有SQL數據庫注入式攻擊代碼;但是這樣處理後,要求UI輸出時將屏蔽的字符還原。因此系統提供屏蔽字符 的函數和還原字符的函數。
3、在數據訪問層,絕大多數采用存儲過程訪問數據,調用時以存儲過程參數的方式訪問,也會很好的防止注入式攻擊。