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

防止恶意投稿或者灌水的又一方法,判断积分是否够一定量,如果够就可以投稿和评论,不够就提示信息。很实用。实现方法:

1.投稿:打开member/article_add.php,找到

  1. if(empty($dopost)) 

在他后边加入:

  1. //检查用户 
  2. $username = $cfg_ml->M_UserName; 
  3. $l_jifen=$dsql->GetOne("Select scores from `js_member` where uname='$username'"); 
  4. if($l_jifen['scores']>=200) 
  5. $dsql->ExecuteNoneQuery("Update `js_member` set logintime='".time()."',loginip='".GetIP()."' where mid='{$cfg_ml->M_ID}'; "); 
  6. else  
  7. {  
  8. ResetVdValue();  
  9. ShowMsg("对不起,需要200以上积分才能在发布文档!","-1","0",3000); 
  10. exit();  

2.评论:打开plus/feedback_ajax.php,找到

  1. //检查用户 
  2.     $username = empty($username) ? '游客' : $username
  3.     if(empty($notuser)) $notuser = 0; 
  4.     if($notuser==1) 
  5.     { 
  6.         $username = $cfg_ml->M_ID > 0 ? '匿名' : '游客'
  7.     } 
  8.     else if($cfg_ml->M_ID > 0) 
  9.     { 
  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.     } 

替换为:

  1. //检查用户 
  2. $username = $cfg_ml->M_UserName; 
  3. $l_jifen=$dsql->GetOne("Select scores from `js_member` where uname='$username'"); 
  4. if($l_jifen['scores']>=150) 
  5. $dsql->ExecuteNoneQuery("Update `js_member` set logintime='".time()."',loginip='".GetIP()."' where mid='{$cfg_ml->M_ID}'; "); 
  6. else  
  7. {  
  8. ResetVdValue();  
  9. ShowMsg("对不起,需要150以上积分才能在发布文档!","-1","0",3000); 
  10. exit();  

这样就可以有效的判断了。其余模型的修改也类似这样的。

转载请注明:代码家园 » DEDECMS只允许会员积分大于200的会员投稿或者发布评论

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)