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的任意行,该行可能存在也可能不存在,而后,销售数据库表会被卸载,甚至被删除。