Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress:wpdb->;插入与wpdb->;准备(wpdb->;查询)(";插入_Php_Database_Wordpress_Sql Injection - Fatal编程技术网

Php Wordpress:wpdb->;插入与wpdb->;准备(wpdb->;查询)(";插入

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

我想知道wordpress的insert函数是否也会向数据添加斜杠。如果不添加斜杠,则prepare query方法似乎会更好地防止SQL注入。我尝试在codex/api中查找该问题;但是,它似乎没有文档记录。 谢谢!

Wordpress用来查询数据库。从技术上讲,它不是一个抽象层,但它确实带走了一些样板代码。ezSQL有一个函数
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做了什么,也不知道为什么所有的示例都使用它。