将函数包含到主题中

时间:2016-05-29 作者:chriss

我有一个小功能,我已经使用多年了,它可以清理网站表单上用户输入的文本,为MySQL查询中使用的输入做好准备,还可以删除spambots中的所有输入。我想在为N-F-P客户端设置的WordPress 4.5.2版主题中继续使用它,或者使用首选的WordPress v4。5.2所有这些的方法。我使用的代码是:

<-- laguage: lang php -->
function cleaner($var) {
    $bad_mailer=array(\'to:\', \'cc:\', \'bcc:\', \'content-type:\', \'mime-version:\', 
        \'multipart-mixed:\', \'content-transfer-encoding:\');
    foreach ($bad_mailer as $v){
        if(strpos($var, $v) !== false)
            return \'\';
    }
    $var = str_replace(array("\\r", "\\n", "%0a", "%0d"), \' \', $var); 
    $var = strip_tags($var);
    return mysql_real_escape_string(trim($var));
}
$scrubbed = array_map(\'cleaner\', $_POST);
然后,所有输入字段称为:$scrubbed[\'text\'];

我现在应该转换mysql_real_escape_string 到WordPress的MySQLi等价物,但目前我找不到WordPress连接链接来添加到它。我可以对这段代码做些什么才能使其成为WordPress v4。5.2合规?

1 个回复
SO网友:Rarst

如果要将其附加到任何和所有$_POST WordPress中的输入可能属于坏主意。WordPress在如何处理这些数据方面有一些问题(例如,它模拟了“魔术引号”模式,PHP本身早就不赞成这种模式),而且有些在WP中发布的情况非常严重(例如,在admin中保存菜单)。

您可以(也应该)清理WP上下文中的数据,但应该针对特定的任务和逻辑逐个处理。

如果您想查看WP API具有哪些数据清理选项,请参阅Data Validation article in Codex.

相关推荐

如何在Functions.php中链接style.css

我是WordPress的新手;我刚开始学习WordPress。我想把风格联系起来。函数中的css。php,但我无法解决这里可能存在的问题。谁能给我指出正确的方向吗?指数php<?php get_header(); ?> <?php if ( have_posts() ) { while ( have_posts() ) { the_post();