我正在创建一个相当简单的wordpress插件,我觉得下面的代码对于SQL注入是足够安全的,但是我的一个朋友非常模糊地说它没有详细说明,现在我已经#&我猜自己。
以下是否安全?下面的内容是字面上的全部内容,例如final.php,它包含在另一个文件中。
list($eid, $uid, $u, $an) = explode(';', base64_decode($_GET['q']), 4);
$wp->insert(INFO_TABLE,
array(
'eid' => $eid,
'uid' => $uid,
'u' => $u,
'an' => $an,
)
);
header('Location: ' . $u);
答案 0 :(得分:2)
是的,您是安全的,使用$wp->insert
就足够了,它会通过API并为您处理清理工作。
好消息是,如果你使用任何帮助函数,那么你不需要做任何事情,查询将被转义给你。但是,如果您使用query()方法,则需要使用prepare()方法手动转义。
来源:http://www.smashingmagazine.com/2011/09/21/interacting-with-the-wordpress-database/
答案 1 :(得分:0)
始终验证任何$ _POST或$ _GET提交的内容。 SQL注入只有1个问题。至少有人可以使用上面的代码对“购买伟哥药片”等进行编码,并将其无限次传递到您的数据库。