A-A+

wordpress用户注册不能包含非法关键词

2015年01月07日 PHP开源系统 评论 4 条 阅读 241 views 次

在wordpress中,我们可以设置评论的黑名单词语,而如果当我们站点流量越来越多的时候,需要开放用户进行注册,如何去屏蔽用户名的非法关键词呢,这里将评论的黑名单同样应用于用户的注册上面,下面夏日博客来教大家 wordpress 中如何屏蔽非法关键词。

在当前主题 functions.php 文件中加入如下的代码:

function blacklist_check($str){
    $moderation_keys = trim(get_option('moderation_keys'));
    $blacklist_keys = trim(get_option('blacklist_keys'));
    
    $keys = $moderation_keys ."\n".$blacklist_keys;
    
    $words = explode("\n", $keys );
    
    foreach ( (array) $words as $word) {
        $word = trim($word);
    
        if ( empty($word) )
            continue;
    
 $word = preg_quote($word, '#');
    
        $pattern = "#$word#i";
        if ( preg_match($pattern, $str) ) return true;
    }
    
    return false;
}

add_filter( 'sanitize_user', 'sanitize_user',3,3);
function v7v3_sanitize_user($username, $raw_username, $strict){
    if(v7v3_blacklist_check($username)){
        $username = '';
    }
    
    return $username;
}

这样用户注册就可以和评论一样可以共用所屏蔽掉的评论黑名单了。

标签:

4 条留言  访客:4 条  博主:0 条

  1. 娱乐名人榜

    滑动解锁评论很哟意思,张戈的貌似也这样的。哈哈。

    • smiling

      嗯,解锁验证的插件,防止垃圾评论很有效。

  2. 疾风之刃辅助

    支持楼主,很给力!!

  3. 同盟源

    过来看博主了,明天就放假了,好激动

给我留言