Php Wordpress:wpdb->;插入与wpdb->;准备(wpdb->;查询)(";插入
我想知道wordpress的insert函数是否也会向数据添加斜杠。如果不添加斜杠,则prepare query方法似乎会更好地防止SQL注入。我尝试在codex/api中查找该问题;但是,它似乎没有文档记录。 谢谢!Wordpress用来查询数据库。从技术上讲,它不是一个抽象层,但它确实带走了一些样板代码。ezSQL有一个函数Php Wordpress:wpdb->;插入与wpdb->;准备(wpdb->;查询)(";插入,php,database,wordpress,sql-injection,Php,Database,Wordpress,Sql Injection,我想知道wordpress的insert函数是否也会向数据添加斜杠。如果不添加斜杠,则prepare query方法似乎会更好地防止SQL注入。我尝试在codex/api中查找该问题;但是,它似乎没有文档记录。 谢谢!Wordpress用来查询数据库。从技术上讲,它不是一个抽象层,但它确实带走了一些样板代码。ezSQL有一个函数escape,所以我假设Wordpress在执行查询之前总是调用escape函数。但要确定,您必须查看源代码。 这就是在Wordpress中转义字符串的方法: $safe
escape
,所以我假设Wordpress在执行查询之前总是调用escape函数。但要确定,您必须查看源代码。
这就是在Wordpress中转义字符串的方法:$safe\u string=$wpdb->escape($safe\u string);
这个问题有点老了,代码可能在被问到后就已经更新了。关于输入数据的SQL转义,wpdb->insert()
和wpdb->prepare()
都提供了相同的安全级别
建议提供给insert方法的列值和数据值都应该是原始值,而不是SQL转义值
我还快速查看了源代码以确认。insert方法的实现使用了
wpdb->prepare()
+1。不再使用wordpress的东西;但是,这个答案令人震惊。我记得我根本不知道prepare做了什么,也不知道为什么所有的示例都使用它。