百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>Discuz教程> discuzx2.5任务系统刷分漏洞详细修复教程
分享文章到:

discuzx2.5任务系统刷分漏洞详细修复教程

发布时间:12/03 来源: 浏览: 关键词:
discuzx2.5任务系统刷分漏洞详细修复教程,虽然网上已有相关解决方法,不过对于用工具无限制刷分的问题还是没法完全解决,官方也没有出具体方案,魔客吧在这里给大家整理出一套完整的修复方案,如下:

文件路径
       source/module/home/home_task.php
       source/class/class_task.php


  home_task.php 中的
  $result = $tasklib->delete($id);
  showmessage('task_deleted', 'home.php?mod=task&item=doing');
  替换成
  if(!$_G['uid']) {
            showmessage('not_loggedin', NULL, array(), array('login' => 1));
        }
        
        $task = C::t('common_task')->fetch($id);
        if($task['available'] != 2) {
            showmessage('task_nonexistence');
        } elseif(($task['starttime'] && $task['starttime'] > TIMESTAMP) || ($task['endtime'] && $task['endtime'] <= TIMESTAMP)) {
            showmessage('task_offline');
        }elseif($task['tasklimits'] && $task['achievers'] >= $task['tasklimits']) {
            showmessage('task_full');
        }
        $mytask = DB::fetch_first("SELECT *, dateline AS applytime FROM %t where uid=%d AND taskid=".$id,
                array( 'common_mytask', $_G['uid']));
        if(!$mytask || $mytask['status']!=0){
            showmessage('task_not_underway');
        }else{
            $task['applytime'] = $mytask['applytime'];
        }
        
        require_once libfile('task/'.$task['scriptname'], 'class');
        $taskclassname = 'task_'.$task['scriptname'];
        $task_class = new $taskclassname;
        if(method_exists($task_class, 'csc')) {
            $result = $task_class->csc($task);
        } else {
            showmessage('task_not_found', '', array('taskclassname' => $taskclassname));
        }
    if($result === TRUE || $result['csc']) {
        
        showmessage('task_doing', 'home.php?mod=task&do=view&id='.$id);
    } else {
        $result = $tasklib->delete($id);
        showmessage('task_deleted', 'home.php?mod=task&item=doing');
    }
class_task.php中
343行
} elseif($this->task['status'] != 0 ) {
替换成
} elseif($this->task['status'] != 0 || !$this->task['dateline']) {

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

相关文章

共有6人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板