【发布时间】:2011-01-24 05:57:14
【问题描述】:
我想知道 wordpress 的插入功能是否也会在数据中添加斜线。如果不是这样,那么准备查询方法似乎可以更好地防止 SQL 注入。我尝试在 codex/api 中查找问题;但是,它似乎没有记录。 谢谢!
【问题讨论】:
标签: php database wordpress sql-injection
我想知道 wordpress 的插入功能是否也会在数据中添加斜线。如果不是这样,那么准备查询方法似乎可以更好地防止 SQL 注入。我尝试在 codex/api 中查找问题;但是,它似乎没有记录。 谢谢!
【问题讨论】:
标签: php database wordpress sql-injection
这个问题有点老了,自从被问到这个问题后,codex 可能已经更新了。 wpdb->insert() 和 wpdb->prepare() 在 SQL 转义输入数据方面提供相同级别的安全性。
codex states 表示提供给插入方法的列值和数据值都应该是原始的,而不是 SQL 转义的。
我还快速查看了来源以确认。 insert 方法的实现使用wpdb->prepare()。
【讨论】:
Wordpress 使用ezSQL 来查询数据库。从技术上讲,它不是一个抽象层,但它确实去掉了一些样板代码。 ezSQL 有一个函数escape,所以我假设 Wordpress 在执行查询之前总是会调用转义函数。但要确定,您必须查看源代码。
这是您在 Wordpress 中转义字符串的方式:$safe_string = $wpdb->escape($unsafe_string);
【讨论】: