关于输入校验(Input valiation)和SQL注入(SQL injection)

时间:2022-02-21 08:55:08

要防SQL注入就要了解所有可能的SQL注入.
个人认为不存在验证层一说. 这个属于输入校验Input validation. 应该与各页面结合起来. 同时使用客户端验证和服务器端验证. 之所以要同时用客户端和服务器端验证, 客户端验证是为了减少向服务器提交的次数, 服务器端验证是为了安全, 因为黑客可以绕过Javascript等向服务器提交非法数据. 所有需要输入的地方, 包括web form中每一个字段, URL中参数(即querystring), 都必须强制检查输入的合法性.

拼接SQL的方式很容易带来SQL注入的危险. 用SqlParameter参数传递, 只能部分杜绝SQL注入的危险. 真正能杜绝SQL注入的就是防止病从口入, 即在所有输入数据的地方加上严格的数据合法检查.