演示链接:查看演示

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(); 

    } 

 

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

THE END
喜欢就支持一下吧
点赞0 分享