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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

【原创】超级广告杀手插件,让你的论坛免受广告干扰。(for dz2.5 sp1)

[复制链接]
程式人生 发表于 2005-9-4 10:01:09 | 显示全部楼层 |阅读模式
原帖地址:http://www.freediscuz.net/dev/viewthread.php?tid=3445
适用版本:dz2.5sp1
插件名称:超级广告杀手
作  者:程式人生
数据升级:否
修改文件:include目录下post.php、newthread.php、newreplay.php
修改模板: 你模块目录下的header.htm
安装难度:易
最后发表日期:2005-9-3
插件功能简介:判断发帖时是否包含的特定词语。跳出我做好的JS代码,如果他不点认错,就一直死循环。
演示或技术支持网站:
http://www.jhbbs.com/viewthread.php?tid=1122
测试帐号:测试帐号
密码:123456
我的关键字:$adv_list='/暴\s*力\s*营\s*销|6位QQ申请|六位数的QQ免费申请|vip.htm\?QQ=|每发展一个代理,你就可得10元,支持四层下级|小\s*方\s*农\s*庄|fangruoxuan/i';       

使用说明:
  1、可以自行修改弹出窗口的内容,即修改filteradv.js的showadvmessage函数即可;
  2、可以设定是否开关或开闭此插件,修改adv.php的第一个参数adv_enable即可;
  3、可以自己设定需要过滤的关键字语句,adv_list参数,用|隔开

缺点:
  因为本人是.net程序员,对php语言一窃不通,仅靠自己对脚本语言的思路做的此插件,所以以免算法上有些笨拙,也没有能力去做后台管理功能,如果哪位高人有兴趣,可以把后台管理功能加上,直接在后台开关/关闭此插件,后台设定过滤关键字和设定弹出窗口的内容。方便大家使用。


安装步骤:

下载附件,解压后把filteradv.js上传到include目录下,修改adv.php文件里的adv_list参数后放在forumdate\template目录下。


找到include\post.php文件中的


  1. ?>
复制代码



在上面添加代码如下:


  1. //adv killer by CXH 2005-9-3
  2. function checkadv() {
  3.         require './forumdata/templates/adv.php';       
  4.         global $subject, $message;
  5.         if($adv_enable && (preg_match($adv_list, $subject) || preg_match($adv_list, $message))) {
  6.                         return TRUE;
  7.         }
  8.         return FALSE;
  9. }
  10. //adv killer by CXH 2005-9-3
复制代码


找到include\newthread.php文件中的


  1. $displayorder = ($ismoderator && $toptopic) ? 1 : 0;
复制代码


在上面添加代码如下:


  1.         //adv killer by CXH 2005-9-3
  2.         if(checkadv()) {
  3.                 showmessage('<script>showadvmessage();</script>');
  4.         }
  5.         //adv killer by CXH 2005-9-3
复制代码



找到include\newreply.php文件中的


  1. $lastnotifytime = $timestamp - 86400;
复制代码


在上面添加代码如下:


  1.         //adv killer by CXH 2005-9-3
  2.         if(checkadv()) {
  3.                 showmessage('<script>showadvmessage();</script>');
  4.         }
  5.         //adv killer by CXH 2005-9-3
复制代码



找到你的模块目录下header.htm文件中的


  1. {template css}
复制代码


在上面添加代码如下:


  1. <script type="text/javascript" src="include/filteradv.js"></script>
复制代码


设置完毕,用的好的希望能回个帖支持下。


更新记录:
2005-9-4 修改了判断函数,把原先的ereg函数改为了preg_match,更符合正则表达式的标准,同时广告字符串支持自定义的正则表达式,可以过滤多个组合的广告。如:要过滤中间带空格的广告"暴 力 营 销",则过滤关键字设为:'/暴\s*力\s*营\s*销/i',即可,这样就可以过滤中间有任何多个空格了,如要设定限定几个空格,则写法为:'/暴\s{0,3}力\s{0,3}营\s{0,3}销/i',这样就过滤中间有0到3个空格的广告了。具体的可以查查正则表达式的写法。本文与附件都已经做了更新。大家可以直接按本文安装。

2005-9-5 这两天论坛老有人发什么免费QQ申请,骗点击率的广告,我把过滤方法教给大家。如他的广告地址为: http://www.test.com/vip.htm?qq=QQ号码,则你可以在过滤关键字中增加“vip.htm\?=”这样的关键字,记得问号前一定要有反斜杠。

我自己最新的关键字列表更新如下:


  1. $adv_list='/暴\s*力\s*营\s*销|6位QQ申请|六位数的QQ免费申请|vip.htm\?QQ=|每发展一个代理,你就可得10元,支持四层下级|小\s*方\s*农\s*庄|fangruoxuan/i';       
复制代码



新增加默认为“不认错”选择框代码,只需要在 filteradv.js 里加上如下函数就成了。用VBS重构确认框。这个就按自己的需要增加吧。HOHO


  1. function window.confirm(str)
  2. {
  3.     execScript("n = msgbox('"+ str +"', 257)", "vbscript");
  4.     return(n == 1);
  5. }
复制代码




[ 本帖最后由 程式人生 于 2005-9-5 13:22 编辑 ]

本帖子中包含更多资源

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

x
枯心树 发表于 2005-9-4 10:03:19 | 显示全部楼层
好东西啊!严重支持原创!
不过这要钱不的?
我装了应该不会侵权吧?

[ 本帖最后由 枯心树 于 2005-9-4 10:05 编辑 ]
回复

使用道具 举报

 楼主| 程式人生 发表于 2005-9-4 10:07:06 | 显示全部楼层
呵。当然不会了。 做这插件的本意是方便自己,但是大家也会受到各种广告的干扰,所以就拿出来分享了。^_^
回复

使用道具 举报

Clement 发表于 2005-9-4 10:07:55 | 显示全部楼层
附件已更新
附件在这里

[ 本帖最后由 Clement 于 2005-9-4 22:24 编辑 ]

本帖子中包含更多资源

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

x
回复

使用道具 举报

 楼主| 程式人生 发表于 2005-9-4 10:08:32 | 显示全部楼层
我在这论坛还是新手。发不了附件。只链接了过来。
回复

使用道具 举报

Clement 发表于 2005-9-4 10:13:05 | 显示全部楼层
只好好心下载你一次附件...了....
=.=
回复

使用道具 举报

枯心树 发表于 2005-9-4 10:14:12 | 显示全部楼层
谢谢楼上那么热心啊!
再次支持!
免费的!

楼上的头像………………有品位!和我一样……

[ 本帖最后由 枯心树 于 2005-9-4 10:52 编辑 ]
回复

使用道具 举报

freddy 发表于 2005-9-4 12:34:52 | 显示全部楼层
原帖由 枯心树 于 2005-9-4 10:14 发表
谢谢楼上那么热心啊!
再次支持!
免费的!

楼上的头像………………有品位!和我一样……


那个是PHP随机的...
回复

使用道具 举报

freddy 发表于 2005-9-4 12:34:59 | 显示全部楼层
加精了!
回复

使用道具 举报

 楼主| 程式人生 发表于 2005-9-4 13:02:43 | 显示全部楼层
呵。谢谢楼上的。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 20:51 , Processed in 0.041720 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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