如何在没有数据库连接的情况下转义 MySQL 查询的字符串
在某些情况下,您可能需要一个模仿 mysql_real_escape_string 行为的函数来进行干测试目的,而不实际连接到数据库。本文探讨了这种方法的可行性和局限性。
可以在没有数据库连接的情况下转义字符串吗?
不幸的是,在没有数据库连接的情况下安全地转义字符串是不可能的。 mysql_real_escape_string() 和准备好的语句都依赖于数据库的连接来根据当前字符集适当地转义字符串。如果没有这个上下文,SQL 注入攻击仍然是一个威胁。
测试目的的替代方案
如果目的只是测试,您可以考虑使用 mysql_escape_string(),尽管它已被弃用。虽然它不能提供针对 SQL 注入攻击的完整保护,但当您无法连接到数据库时,它足以用于测试目的。
以上是在没有数据库连接的情况下,我可以转义 MySQL 查询的字符串吗?的详细内容。更多信息请关注PHP中文网其他相关文章!