批量删除垃圾文章和提问

三叔
三叔 http://www.sanshu.cn

3 人点赞了该文章 · 1966 浏览

这几天很头疼的一件事就是,wc3.1.9被人灌进去太多的垃圾文章和提问。 一共10000多条。
QQ截图20180731170625.png
后台管理里批量删除每次只能删除20个。10000/20 = 500 我们得操作500次 直接删除数据库里的数据,如果删除不恰当会造成很多问题。 所以我从程序里出发,找到删除代码,然后自己找到最大的垃圾文章编号和最小的。 文章和问题的删除代码都在/app/admin/ajax.php里   我们可以搜索关键字 del'  后面的单引号别忘记了,否则会搜出很多。 搜到
 case 'del':
    foreach ($_POST['article_ids'] AS $article_id)
    {
        $this->model('article')->remove_article($article_id);
    }

    H::ajax_json_output(AWS_APP::RSM(null, 1, null));
break;
自己备份下代码 改成
case 'del':
    for($i=最大垃圾文章ID;$i>最小垃圾文章ID;$i--)
    {
        $this->model('article')->remove_article($i);
    }

    H::ajax_json_output(AWS_APP::RSM(null, 1, null));
break;
然后在管理端点击删除按钮。 等一会就可以清除这些垃圾文章了。 删除完记得把代码恢复。   同理 删除垃圾问题 搜索 remove' 找到
case 'remove':
    foreach ($_POST['question_ids'] AS $question_id)
    {
        $this->model('question')->remove_question($question_id);
    }

    H::ajax_json_output(AWS_APP::RSM(null, 1, null));
break;
改成
case 'remove':
    for($i=最大垃圾问题ID;$i>=最小垃圾问题ID;$i--)
    {
        $this->model('question')->remove_question($i);
    }

    H::ajax_json_output(AWS_APP::RSM(null, 1, null));
break;

发布于 2018-07-31 17:13

免责声明:

本文由 三叔 原创发布于 WeCenter ,著作权归作者所有。

登录一下,更多精彩内容等你发现,贡献精彩回答,参与评论互动

登录! 还没有账号?去注册

三叔
2018-08-01 15:41
极验真心不错
kenw2004
2018-08-01 14:11
可以考虑集成极验,比图片验证码好一点
haines
2018-08-01 10:09
感谢分享
三叔
2018-07-31 20:38
一直开着验证码,没啥用
fanta
2018-07-31 17:58
的确是个头痛的问题,不停注册换号的话也防不住,只能先临时开启审核了
fanta
2018-07-31 17:40
谢谢题主的分享,还有一个开启发帖验证码的设置,可以了解一下,可以限定频率,至少可以将防止一部分机器人行为