emlog防垃圾评论终极方法

摘要

垃圾评论让人烦不胜烦,更主要的是绝大多数都是机器人程序群发的垃圾评论,垃圾评论不仅影响用户体验,而占据网站空间,使网站的运行速度变慢,被垃圾评论机器人盯上后手动处理根本忙不过来。如何保留评论功能,而又屏蔽垃圾评论成为站长们头痛的问题,

李明博客已1年多了虽说时间不长,但是也不短了,李明为了提高用户体验一直没开启Emlog自带的验证码,因为那个验证码字体小,字符还比较难看所以开始被垃圾评论刷爆了,每天删100多条垃圾评论然后就在博客里面安装了反垃圾评论插件,可是现在还会被垃圾评论刷的几乎崩溃。所以使用打勾评论来防范垃圾评论机器人很有必要。如果打勾评论再配上反垃圾评论插件,那么效果会更加理想。


emlog防垃圾评论终极方法:

一、电脑版页面添加打勾评论方法:

1、添加以下代码到模板目录的module文件:
<label for="wmzz_comc"><input type="checkbox" value=9 id="wmzz_comc" name="wmzz_comc"required="required" autocomplete="on"required title="发表评论确认框:请勾选我再发表评论!">


2、修改\include\controller\comment_controller.php文件:

在comment_controller.php文件找到下述代码:
if($Comment_Model->isLogCanComment($blogId) === false) { emMsg('评论失败:该日志已关闭评论');


在上述代码前面添加下列代码:

<span style="font-family:'Microsoft YaHei';">if($_POST['wmzz_comc']==9) { } else { emMsg('评论失败:您未选中发表评论确认框'); exit; }</span>

如果此方法被机器人作者知道,请自行修改Value的值。

二、手机版页面添加打勾评论方法:
1、添加下列代码到m/index.php:


if($_POST['commentc']==9) { setcookie("WMZZ_BLOG_LOGCOM_CHECKBOX","checked", time()+99999999);//此功能将向浏览器发送一个Cookies,可以使访客以后发表评论不再需要手动勾选,不需要可以删除 } else { mMsg('评论失败:您未选中发表评论确认框','./?post=' . $blogId); exit; }


上述代码添加到下列代码之前:


if($Comment_Model->isLogCanComment($blogId) === false){ mMsg('评论失败:该日志已关闭评论','./?post=' . $blogId);



2、添加下列代码到m/view/single.php和m/view/reply.php:

<input type="checkbox" value=9 name="commentc" id="commentc"<?php if (isset($_COOKIE["WMZZ_BLOG_LOGCOM_CHECKBOX"])){ echo ' checked="checked""'; } ?>title="发表评论确认框:请勾选我再发表评论!"><font color="red">请勾选我再发表评论!</font>
single.php文件和reply.php文件中添加代码的位置,在下列代码之后:
 昵称<br /><input type="text" name="comname" value="" /><br /> 邮件地址 (选填)<br /><input type="text" name="commail" value="" /><br /> 个人主页 (选填)<br /><input type="text" name="comurl" value="" /><br /> <?php endif; ?> 内容<br /><textarea name="comment" rows="10"></textarea><br /> <?php echo $verifyCode; ?><br /><input type="submit" value="发表评论" />


本文代码转自“无名智者个人博客”


让文章浏览量随机

找到/include/model/log_model.php views=views+1 新建个变量
        $cishu = rand(1,10);  把views=views+1改成views=views+$cishu
就是每次随机增加 1到10之间

/** * 增加阅读次数 * * @param int $blogId */ function updateViewCount($blogId) { $cishu = rand(1,10); $this->db->query("UPDATE " . DB_PREFIX . "blog SET views=views+$cishu WHERE gid=$blogId"); }



发表评论

注意:本博客开启缓存,你的评论一般2小时后才能看到,如是广告,评论将无法显示!

目前评论:60 条

  1. avatar bluesky
    回复 2017-07-15 07:50  沙发

    翻弄了好半天终于又找到这篇文章啦!!!

  2. avatar zhanglei
    回复 2017-01-19 11:24  板凳

    再看一下你的评论路径,呵呵

  3. avatar zhanglei
    回复 2017-01-18 17:23  地板

    麻烦请教一下,我网站在pc端一评论页面就是空白,可能 是哪个文件出了错了?
    手机端是正确的。
    谢谢

  4. avatar 恋夜秀场
    回复 2016-04-06 19:49  #4 楼

    谢谢分享哦。。。

  5. avatar 清风
    回复 2015-12-27 20:49  #5 楼

    我把请求地址给改了然后加上了token认证,至此在没看到过了。。。

  6. avatar liuyan
    回复 2014-10-30 19:29  #6 楼

    每次来李明的博客都会有收获,非常感谢李明给予我们这个交流的平台,谢谢!

  7. avatar EricSong
    回复 2014-08-26 17:26  #7 楼

    试验了一下,没有成功

    • avatar 李明

      @EricSong:我也这样设置的,应该没问题。

  8. avatar 沈军
    回复 2014-08-11 12:05  #8 楼

    没有成功。。。

  9. avatar TE13工作室
    回复 2014-06-20 11:33  #9 楼

    方法不错

  10. avatar 小丑丶
    回复 2014-06-10 23:05  #10 楼

    貌似不用修改comment_controller.php也能用.

    • avatar 李明

      @小丑丶:不修改comment_controller.php,不打勾也可评论的,你试试吧。

      • avatar 小丑丶

        @李明:你来我这试试,我换VPS,重新安装的,没该comment_controller.php,模版是以前的。

        • avatar 李明

          @小丑丶:comment_controller.php不是模板文件,路径:\include\controller\comment_controller.php

          • avatar 小丑丶

            @李明:啊,我知道。模版也没那个文件啊。