Moh*_*oud 8 sql security sql-injection
我可以通过使用参数来避免所有SQL注入攻击吗?
在这种情况下,不要担心SQL注入中的任何内容?
或者是否有某些类型的攻击需要程序员更多的关注?
是的,不是.是的,如果所有SQL语句都是静态的并且只使用参数,那么您将100%受到SQL注入攻击的保护.
当参数本身用于构造动态SQL语句时,问题就出现了.一个示例是一个存储过程,它动态生成一个SQL语句,用于查询大量不同的选项,其中单个整体语句是不切实际的.虽然这个问题有更好的解决方案,但这是一个常见的解决方案.
是的,只要在调用堆栈中一直使用参数,就可以通过使用参数来避免所有SQL注入攻击.例如:
如果您使用SQL Server进行编程,则可以使用它sp_executesql来执行动态SQL,它将允许您定义参数化值并将其传递给正在执行的语句.