测试与数据库交互的代码时,通过正确转义用户输入来防止 SQL 注入攻击非常重要。然而,为每个测试连接到数据库可能效率很低。有没有办法在没有活动数据库连接的情况下转义字符串?
不幸的是,在没有数据库连接的情况下不可能可靠地转义字符串。 mysql_real_escape_string() 和准备好的语句都依赖于数据库对所使用的字符集的了解。如果没有这些信息,就可以制作绕过转义机制并导致 SQL 注入漏洞的多字节字符序列。
如果您的目标纯粹是测试,您可以考虑使用 mysql_escape_string() 因为它的速度和简单性。虽然它并不完全安全,但不太可能在测试环境中被利用。但是,请注意,不建议在生产代码中这样做。
虽然很想找到一种在没有数据库连接的情况下转义字符串的方法,但实际上这是不可行的。保证数据完整性的唯一方法是结合数据库连接使用适当的转义技术。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3