我需要处理WordPress SQL注入吗

时间:2014-03-16 作者:tim.baker

在使用WordPress注释函数插入数据库时,是否需要针对MySQL注入准备字符串,例如:

$data = array(
    \'comment_post_ID\' => $post_id,
    \'comment_author\' => $comment_author,
    \'comment_author_email\' => $comment_email,
    \'comment_content\' => $comment_body,
    \'comment_type\' => \'\',
    \'comment_parent\' => 0,
    \'user_id\' => 1,
    \'comment_author_IP\' => \'127.0.0.1\',
    \'comment_agent\' => \'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729)\',
    \'comment_date\' => $time,
    \'comment_approved\' => 1,
);

wp_insert_comment($data);
Update:从…起this page 它像处理所有这些一样接合,但不剥离HTML/PHP标记;纯粹从安全角度来看,这本身是否值得剥离?

1 个回复
SO网友:Rarst

WP中这样的高级API函数通常执行以下操作$wpdb->prepare() 调用以防止MySQL注入。

至于内容,默认情况下,注释确实允许HTML,但它不仅仅是任何东西。如果你检查default-filters.php 有相当多的净化功能连接到处理注释数据,包括wp_kses_post() 这将HTML限制为白名单子集。

结束

相关推荐

如何安全地从MySQL数据库中删除与wp_post表相关的数据?

最近,我下载了一个插件,该插件有一个bug,它在wp\\u post表中孤立了它的自定义post类型项目,而不是删除它们。作为wordpress的新手,我并不清楚wp\\U Posteta表是否与该表相关。现在,我在后者中有了$post\\u id的空值条目。(我只是简单地删除了wp\\u post中具有该内容类型的所有内容。)我假设进行左连接查询可以很容易地找到所有那些wp\\u posttea项目,并删除$post\\u id为NULL的所有内容。但是,我不确定wordpress表之间的关系。如果手动