Wordpress:wpdb->插入VERSUS wpdb-> prepare(wpdb-> query(“INSERT”)

时间:2010-03-05 18:34:54

标签: php database wordpress sql-injection

我想知道wordpress的插入功能是否也会为数据添加斜杠。如果不是,那么看起来准备查询方法会更好地防止SQL注入。我尝试在codex / api中查找问题;然而,它似乎没有记录。 谢谢!

2 个答案:

答案 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);