科技探索者论坛 科技行业的最新趋势和技术讨论

 找回密码
 立即注册
查看: 1|回复: 0

.co域名升值潜力巨大:拿好手中的.co域名

[复制链接]

主题

帖子

5

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5
发表于 2024-10-7 16:22:06 | 显示全部楼层 |阅读模式
最近一段时间被垃圾评论搞的头疼,要是隔几天没有登录后台的话,就会有上百条甚至几百条垃圾评论等待着你删除,因为评论里有一部分是真实的,所以在删除垃圾评论的过程中需要仔细一些,防止将读者的真实评论误删掉,有几次光清理垃圾评论就花了半小时左右的时间,让人叫苦连天啊。
    前段时间我写了一篇《如何屏蔽wordpress的垃圾英文评论》的文章,这个方法主要针对全英文的垃圾评论,如果垃圾评论里没有中文就会自动屏蔽,刚开始效果的确不错,几乎大部分的垃圾评论都屏蔽掉了(那段时间主要是英文垃圾评论),可后来好像专门跟我作对一样,英文里开始带中文了,而且频率越来越高,实在没办法,所以决心一定要找一个有效的方法把这些烦人的评论拦截掉。下面是垃圾评论的一些截图:
   
    在WordPress大学里,我找到了作者一直在用一个方法,据说可以屏蔽掉98%以上的垃圾评论,用了几天,效果确实不错,偶尔有几个漏网之鱼,手动删一下也不费事。方法:将下面这串代码粘贴到functions.php文件的最后一个 ?前面即可:
    // 垃圾评论拦截
    class anti_spam {
    function anti_spam() {
    if ( !current_user_can('level_0') ) {
    add_action('template_redirect', array($this, 'w_tb'), 1);
    add_action('init', array($this, 'gate'), 1);
    add_action('preprocess_comment', array($this, 'sink'), 1);
    }
    }
    function w_tb() {
    if ( is_singular() ) {
    ob_start(create_function('$input','return preg_replace("#textarea(.*?)name=([\"\'])comment([\"\'])(.+)/textarea#",
    "textarea$1name=$2w$3$4/textarea",$input);') );
    }
    }
    function gate() {
    if ( !empty($_POST['w'])  empty($_POST['comment']) ) {
    $_POST['comment'] = $_POST['w'];
    } else {
    $request = $_SERVER['REQUEST_URI'];
    $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '隐瞒';
    $IP = isset($_SERVER["HTTP_X_FORWARDED_FOR"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] . ' (透过代理)' : $_SERVER["REMOTE_ADDR"];
    $way = isset($_POST['w']) ? '手动操作' : '未经评论表格';
    $spamcom = isset($_POST['comment']) ? $_POST['comment'] : null;
    $_POST['spam_confirmed'] = "请求: ". $request. "\n来路: ". $referer. "\nIP: ". $IP. "\n方式: ". $way. "\n內容: ". $spamcom. "\n -- 记录成功 --";
    }
    }
    function sink( $comment ) {
    if ( !empty($_POST['spam_confirmed']) ) {
    if ( in_array( $comment['comment_type'], array('pingback', 'trackback') ) ) return $comment;
    //方法一: 直接挡掉, 將 die(); 前面两斜线刪除即可.
    die();
    //方法二: 标记为 spam, 留在资料库检查是否误判.
    //add_filter('pre_comment_approved', create_function('', 'return "spam";'));
    //$comment['comment_content'] = "[ 小墙判断这是 Spam! ]\n". $_POST['spam_confirmed'];
    }
    return $comment;
    }
    }
    $anti_spam = new anti_spam();
    除了使用这个方法,还可以结合WordPress本身自带的一些功能,比如设置指定关键词拦截,在设置-讨论下,将一些广告中使用频率较高的词汇写在里面,比如:广告、淘宝、垃圾、裸体、减肥、美容等,这些双管齐下,效果自然更佳。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋| 科技探索者论坛

GMT+8, 2024-10-17 14:20 , Processed in 0.028999 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表