我想知道wordpress的插入功能是否也会为数据添加斜杠。如果不是,那么看起来准备查询方法会更好地防止SQL注入。我尝试在codex / api中查找问题;然而,它似乎没有记录。 谢谢!
答案 0 :(得分:12)
这个问题有点陈旧,而且自从被问到以来,手抄本可能已经更新了。 wpdb->insert()
和wpdb->prepare()
都提供了与SQL转义输入数据相同的安全级别。
codex states提供给insert方法的列和数据值都应该是原始的,而不是SQL转义。
我还快速查看了来源确认。 insert方法的实现使用wpdb->prepare()
。
答案 1 :(得分:4)
Wordpress使用ezSQL来查询数据库。从技术上讲,它不是一个抽象层,但它确实带走了一些样板代码。 ezSQL有一个函数escape
所以我假设Wordpress总是在执行查询之前调用转义函数。但要确定你必须看一下源代码。
这是你在Wordpress中转义字符串的方法:
$safe_string = $wpdb->escape($unsafe_string);