以前的开发人员在使用wordpress wpdb
类时使用“从数据库中读取数据”这是一个不好的做法。实际写入数据库的方法...例如:
$wpdb->get_results( "UPDATE `table` SET `column1`='$value1', `column2`='$value2' WHERE `coulmn3`= '$condition';",ARRAY_A );
INSERT
同样如此;始终使用get_results
或get_row
插入数据库。显然,他/她不知道可用的insert
和update
方法。
虽然代码工作正常但是我想知道输入是否仍会被wpdb类转义,如果这会使网站暴露于SQL注入威胁。
如果是,那么解决此安全漏洞的快速解决方案是什么? 在网站文件中至少有100个插入/更新命令,并且通过它们中的每一个并改变为正确的方法将是一件麻烦事。如果没有其他更容易/更聪明的想法,我会继续手动编辑每个。
答案 0 :(得分:1)
查询(如果它们是您的示例之一)将暴露给SQL注入。
Wordpress建议使用WPDB类的函数prepare
来阻止SQL注入。
<?php $sql = $wpdb->prepare( 'query' , value_parameter[, value_parameter ... ] ); ?>
我担心没有快速修复,而不是手动重新编码查询方法调用。