破解技巧: 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;