我有一个应用程序,它可以通过将动态 mysql 查询与 mysql (mysqli) 真正的转义字符串结合使用而受益匪浅。如果我通过 mysql real escape 运行从用户那里收到的所有数据,它会和使用 mysql 准备语句一样安全吗?
最佳答案
是的,但有条件的是。
您需要正确转义 100% 的输入。并且您需要正确设置字符集(如果您使用的是 C API,则需要调用 mysql_set_character_set()
而不是 SET NAMES
)。如果你错过了一件小事,你就会很脆弱。所以是的,只要你做对了……
这就是很多人会推荐准备好的查询的原因。不是因为它们更安全。但因为他们更宽容...
关于mysql - 使用 sql 转义的动态 mysql 查询是否与准备好的语句一样安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4771984/