當開發應用程序時,尤其是有關數據庫信息的查詢,查詢語句中可能會有拼接字符串注入漏洞,這便會導致用戶資料泄露。那么該如何防范此類漏洞的出現。
可以為查詢語句設置參數,方法實例如下面所示:
Using(Sqlconnection cn = new sqlconnection(“連接字符串”))
{
cn.open();
using(sqlcommand cmd = cn.creatcommand())
{
cmd.commandtext=”select * from T_table where name=’”+textbox.text+”’”;
(此時如果在文本框中輸入1’ or ‘1’=’1)就可以獲取數據庫信息。會造成信息的泄露。解決辦法就是引入參數。方法如下。
cmd.commandtext=”select * from T_table where name=@Name”;
cmd.Parameters.Add (new sqlParameter ("@Name", textbox.text))};
這樣查詢數據就會從數據庫查詢比對,不會再出現注入漏洞攻擊的情況。
}
}