使用Wordpress wpdb类的不良做法是否会导致SQL注入威胁?

时间:2016-10-08 11:48:02

标签: php wordpress sql-injection

以前的开发人员在使用wordpress wpdb类时使用“从数据库中读取数据”这是一个不好的做法。实际写入数据库的方法...例如:

$wpdb->get_results( "UPDATE `table` SET `column1`='$value1', `column2`='$value2' WHERE `coulmn3`= '$condition';",ARRAY_A ); 

INSERT同样如此;始终使用get_resultsget_row插入数据库。显然,他/她不知道可用的insertupdate方法。

虽然代码工作正常但是我想知道输入是否仍会被wpdb类转义,如果这会使网站暴露于SQL注入威胁

如果是,那么解决此安全漏洞的快速解决方案是什么? 在网站文件中至少有100个插入/更新命令,并且通过它们中的每一个并改变为正确的方法将是一件麻烦事。如果没有其他更容易/更聪明的想法,我会继续手动编辑每个。

1 个答案:

答案 0 :(得分:1)

查询(如果它们是您的示例之一)将暴露给SQL注入。

Wordpress建议使用WPDB类的函数prepare来阻止SQL注入。

 <?php $sql = $wpdb->prepare( 'query' , value_parameter[, value_parameter ... ] ); ?> 

我担心没有快速修复,而不是手动重新编码查询方法调用。