strSQL = "select sum(cost) from sales where id='" + id + "'"; 你的軟件中有這樣的代碼嗎?一項調查顯示,80%的編程人員在軟件中編寫過類似的代碼。這類代碼的問題是它提供了用戶使用的id變量,使得黑客可能將id變量設置為其他的SQL語句。 例如,黑客可以將id變量設置為下面的值:
1' drop table sales --
上面的代碼將變為下面的形式:
select sum(cost) from sales where id='1' drop table sales -- ' 這一代碼將執行一個查詢,查找id = 1的任意行,該行可能存在也可能不存在,而后,銷售數據庫表會被卸載,甚至被刪除。