我可以通过使用参数来避免所有SQL注入攻击吗?
在这种情况下,不要担心SQL注入中的任何内容?
或者是否有某些类型的攻击需要程序员更多的关注?
解决方法
不,您无法通过使用参数来避免所有SQL注入攻击.动态SQL是真正的问题,这可能发生在存储过程以及应用程序代码中.
例如,这容易发生SQL注入攻击:您的参数化查询将用户名传递给存储过程,并且在存储过程中,该参数被连接到SQL命令然后执行.
有关多种SQL注入攻击的示例,请参阅此SQL Injection Cheat Sheet.您将看到简单地转义单引号只是表面上看,并且有很多方法可以解决这个问题.