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

2022/11/26 09:03    5G收录网    已浏览171次

防止恶意投稿或者灌水的又一方法,判断积分是否够一定量,如果够就可以投稿和评论,不够就提示信息。很实用。实现方法:
 
1.投稿:打开member/article_add.php,找到
 
 
1 if(empty($dopost))
2 {

在他后边加入:
01 //检查用户
02 $username = $cfg_ml->M_UserName;
03 $l_jifen=$dsql->GetOne("Select scores from `js_member` where uname='$username'");
04 if($l_jifen['scores']>=200)
05 {
06 $dsql->ExecuteNoneQuery("Update `js_member` set logintime='".time()."',loginip='".GetIP()."' where mid='{$cfg_ml->M_ID}'; ");
07 }
08 else 
09
10 ResetVdValue(); 
11 ShowMsg("对不起,需要200以上积分才能在发布文档!","-1","0",3000);
12 exit(); 
13 }

2.评论:打开plus/feedback_ajax.php,找到
 
01 //检查用户
02     $username = empty($username) ? '游客' : $username;
03     if(empty($notuser)) $notuser = 0;
04     if($notuser==1)
05     {
06         $username = $cfg_ml->M_ID > 0 ? '匿名' : '游客';
07     }
08     else if($cfg_ml->M_ID > 0)
09     {
10         $username = $cfg_ml->M_UserName;
11     }
12     else if($username!='' && $pwd!='')
13     {
14         $rs = $cfg_ml->CheckUser($username, $pwd);
15         if($rs==1)
16         {
17             $dsql->ExecuteNoneQuery("Update `js_member` set logintime='".time()."',loginip='".GetIP()."' where mid='{$cfg_ml->M_ID}'; ");
18         }
19         $cfg_ml = new MemberLogin();
20     }

替换为:
01 //检查用户
02     $username = empty($username) ? '游客' : $username;
03     if(empty($notuser)) $notuser = 0;
04     if($notuser==1)
05     {
06         $username = $cfg_ml->M_ID > 0 ? '匿名' : '游客';
07     }
08     else if($cfg_ml->M_ID > 0)
09     {
10         $username = $cfg_ml->M_UserName;
11     }
12     else if($username!='' && $pwd!='')
13     {
14         $rs = $cfg_ml->CheckUser($username, $pwd);
15         if($rs==1)
16         {
17             $dsql->ExecuteNoneQuery("Update `js_member` set logintime='".time()."',loginip='".GetIP()."' where mid='{$cfg_ml->M_ID}'; ");
18         }
19         $cfg_ml = new MemberLogin();
20     }
 
这样就可以有效的判断了。其余模型的修改也类似这样的。