破解技巧: Xoops 评论 - 防止匿名用户垃圾信息

发布者: attock On 2007/9/22 7:36:32 11359 次阅读
虽然每个模块中都有一个选项可以让你选择谁可以发表评论。但是如果你想让匿名用户也能发表评论怎么办。至少我没有找到任何一个选项可以阻止匿名用户发送垃圾信息。因此,这个破解技巧会检查匿名用户评论中是否存在URL链接,来防止垃圾信息。

就像通常在玩破解技巧时推荐的那样,请确保备份要编辑的文件。在这个例子中,它的路径是:XOOPS_ROOT_DIR\Include\comment_post.php

注意:我只在Xoops 2.0.16版本上测试过


开始...

1) 打开 XOOPS_ROOT_DIR\Include\comment_post.php


2) 在第138行查找以下代码

原始代码
break;
case 
"post":

   
$doimage 1;
    
$comment_handler =& xoops_gethandler('comment');
    
$add_userpost false;
    
$call_approvefunc false;
    
$call_updatefunc false;





3) 更改为...
break;
case 
"post":

    
//myhack - 防止匿名用户垃圾邮件
    //如果在link中找到URLLINK,则不允许匿名用户发表。
    
$myhack_comment $_POST['com_text'];
    
$myhack_title $_POST['com_title'];
    
//检查发表者是否为匿名
    
if (!is_object($xoopsUser)) {
        
preg_match("/http/",$myhack_comment) || preg_match("/www/",$myhack_comment) || preg_match("/href/",$myhack_comment) || preg_match("/http/",$myhack_title) || preg_match("/www/",$myhack_title))) {
            echo 
"不要垃圾邮件啊!!!";
            exit();    
        }
        else {
        }
    }
    
//myhack结束


    
$doimage 1;
    
$comment_handler =& xoops_gethandler('comment');
    
$add_userpost false;
    
$call_approvefunc false;
    
$call_updatefunc false;