Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

自动屏蔽删除广告帖子,违法信息 DZ7.2(支持discuz x版本)

[复制链接]
zyml.net 发表于 2010-10-15 18:15:11 | 显示全部楼层 |阅读模式
本帖最后由 zyml.net 于 2010-12-24 22:58 编辑

说明:为了和原系统独立,请下载单独文件到论坛中,以便以后升级;附件中包含了已经配置好的数据,可直接下载覆盖测试,如果系统文件已经修改过,请按照下面的说明执行操作,类中提供了一些基础类,可用于其它二次开发
演示地址:http://bbs.headidc.com
功能:目前只做了DISCUZ论坛,可扩展为所有的PHP系统应用,可自定义替换,删除,自动删除包含有违法关键字的帖子(可自己配置)
方式:从发表数据POST检测预防;二次处理,或者以前本身就包含很多广告帖子,一旦用户打开这个帖子,自动执行操作,如果有多楼只删除该楼层的违法信息
使用方法:将文件夹中的文件,按照原来的目录结构放入所要操作系统的根目录下
文件说明:class/handinfo.class.php:文件原子操作类和已经封装的discuz_handinfo方法
                 config/badword.config.php:违法信息关键字屏蔽列表,里面有示范,请按照固定格式配置,逗号连接的关键字表示同时              时出现这两个字才判断为违法信息,即组合关键字
参数说明:


$t = new handleInfo();//实例化类
$post=$t->discuz_handle($post,$ad_check = true,$badword_check = true,$allowurl = array("zyml.net"),$action='del',$replace_into='');

       $post:帖子信息数组
         $ad_check:是否进行广告链接检测
        $badword_check :是否进行违法信息检测
        $allowurl :允许在帖子中出现的url链接数组,比如$allowurl=arrary('zyml.net','discuz.net')就表示允许discuz.net和zyml.net在帖子中出现
      $action:可选del和replace,del表示出现违法信息或者广告链接执行删除,replace表示执行替换
     $replace_into:表示替换成什么信息,支持html代码

使用方法:
             在include/common.inc.php任何一个地方加入:
require_once DISCUZ_ROOT.'./class/handleinfo.class.php';

             include/post.func.php的520行(checkpost函数中):
            查找:
  1. global $subject, $message, $disablepostctrl, $minpostsize, $maxpostsize;
复制代码

            加入
$t = new handlebase();
if($t->is_allow($subject)==false || $t->is_allow($message)==false)
{
return 'subject or message is badword or advertisement;power by zyml.net';
}

以上完成了发表帖子时候的检测功能,而有的时候注册机可以绕过程序,那么执行二次保险操作(对已经存在很多广告信息的论坛很好使)
viewthread.php中查找:
return $post;

在它的上面加入 :
  1. $t = new handleInfo();
  2. $post=$t->discuz_handle($post,true,true,array("zyml.net"),'replace','<font color="blue">url链接替换测试</font>');
复制代码


discuz x!版本下载地址:http://bbs.headidc.com/thread-1-1-1.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
ilei365 发表于 2010-10-15 18:26:47 | 显示全部楼层
不错,沙发支持。
回复

使用道具 举报

php580.com 发表于 2010-10-15 18:26:49 | 显示全部楼层
好象不错
回复

使用道具 举报

褚凌烟 发表于 2010-10-15 19:28:55 | 显示全部楼层
1.5能用不????
回复

使用道具 举报

 楼主| zyml.net 发表于 2010-10-15 21:22:08 | 显示全部楼层
本帖最后由 zyml.net 于 2010-10-15 21:34 编辑
褚凌烟 发表于 2010-10-15 19:28
1.5能用不????


需要你自己单独找到里面的变量和代码,把类套一下就行,1.5的以后还会发的,这个接口是给任何PHP语言的系统用的接口,现在还不是特别方便,以后慢慢完善成界面操作配置好就行

  1. $t = new handlebase();
  2. if($t->is_allow($subject)==false)
  3. {
  4.      return 'subject or message is badword or advertisement;power by zyml.net';
  5. }
复制代码
$t->is_allow($subject)是可以检查任何变量是否合法(广告和违法关键词)true表示合法,false表示不合法,后面返回什么你自己随便选择操作


回复

使用道具 举报

吴燕青 发表于 2010-10-16 04:38:06 | 显示全部楼层
回复

使用道具 举报

meiont345 发表于 2010-10-16 10:21:37 | 显示全部楼层
很不错,一会下下来试试
回复

使用道具 举报

临沧123 发表于 2010-10-16 10:26:46 | 显示全部楼层
这个东西一定要顶
回复

使用道具 举报

szcavan 发表于 2010-10-16 10:34:19 | 显示全部楼层
这是真的吗
回复

使用道具 举报

唐瑞洪 发表于 2010-10-16 11:59:58 | 显示全部楼层
这个可是相当不错啊,谢谢楼主,太感谢了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-10-3 02:23 , Processed in 0.134988 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表