muban大师 发表于 2021-1-29 10:02:54

DEDECMS只允许会员积分大于200的会员投稿或者发布评论

防止恶意投稿或者灌水的又一方法,判断积分是否够一定量,如果够就可以投稿和评论,不够就提示信息。很实用。实现方法:
       
        1.投稿:打开member/article_add.php,找到
       
        if(empty($dopost))
        {
       
        在他后边加入:
       
        //检查用户
        $username = $cfg_ml->M_UserName;
        $l_jifen=$dsql->GetOne("Select scores from `js_member` where uname='$username'");
        if($l_jifen['scores',>=200)
        {
        $dsql->ExecuteNoneQuery("Update `js_member` set logintime='".time()."',loginip='".GetIP()."' where mid='{$cfg_ml->M_ID}'; ");
        }
        else
        {
        ResetVdValue();
        ShowMsg("对不起,需要200以上积分才能在发布文档!","-1","0",3000);
        exit();
        }
       
        2.评论:打开plus/feedback_ajax.php,找到
       
        //检查用户
          $username = empty($username) ? '游客' : $username;
          if(empty($notuser)) $notuser = 0;
          if($notuser==1)
          {
                $username = $cfg_ml->M_ID > 0 ? '匿名' : '游客';
          }
          else if($cfg_ml->M_ID > 0)
          {
                $username = $cfg_ml->M_UserName;
          }
          else if($username!='' && $pwd!='')
          {
                $rs = $cfg_ml->CheckUser($username, $pwd);
                if($rs==1)
                {
                    $dsql->ExecuteNoneQuery("Update `js_member` set logintime='".time()."',loginip='".GetIP()."' where mid='{$cfg_ml->M_ID}'; ");
                }
                $cfg_ml = new MemberLogin();
          }
       
        替换为:
       
        //检查用户
          $username = empty($username) ? '游客' : $username;
          if(empty($notuser)) $notuser = 0;
          if($notuser==1)
          {
                $username = $cfg_ml->M_ID > 0 ? '匿名' : '游客';
          }
          else if($cfg_ml->M_ID > 0)
          {
                $username = $cfg_ml->M_UserName;
          }
          else if($username!='' && $pwd!='')
          {
                $rs = $cfg_ml->CheckUser($username, $pwd);
                if($rs==1)
                {
                    $dsql->ExecuteNoneQuery("Update `js_member` set logintime='".time()."',loginip='".GetIP()."' where mid='{$cfg_ml->M_ID}'; ");
                }
                $cfg_ml = new MemberLogin();
          }
       
        这样就可以有效的判断了。其余模型的修改也类似这样的。
页: [1]
查看完整版本: DEDECMS只允许会员积分大于200的会员投稿或者发布评论