五味堂中医气功普教网  
欢迎您光临 五味堂 (www.wwt.com.cn)济世之道,莫先于医;疗病之功,莫先于药……五味堂 宗旨:【传承中医中药国粹,弘扬气功武术瑰宝——致力于全民健康!】五味堂网站是提供传统中医养生保健知识、经方秘方验方、中药草药知识、医疗保健气功、武术气功、传统拳械、易学边缘知识等,供网友、会员继承、应用、研究、发扬祖国传统优秀文化的网上交流平台……网站正在逐步建设完善,现已开放注册,欢迎有志于振兴中医、弘扬国粹的同仁莅临指导交流,共同研讨、提高。也欢迎所有信任和支持传统中医药、民间中草药、武术气功的朋友经常来 五味堂 了解、学习、交流。祝大家健康快乐 ^_^
..
..
..
点击交谈..
..
..

论坛帖子内容              Thread Content



';
//random function by end
继续找到:


代码:[Copy to clipboard]$guestexp = '\xA1\xA1|\xAC\xA3|^Guest|^\xD3\xCE\xBF\xCD|\xB9\x43\xAB\xC8';
在下面一行添加:


代码:[Copy to clipboard]//random function by KaijuanStudio
$randinfo = "
if(!\$$cont) {
showmessage('profile_required_info_invalid');
}";
eval($randinfo);
//random function by end
继续找到:


代码:[Copy to clipboard]updatesettings();
在下面一行添加:


代码:[Copy to clipboard]//random function by KaijuanStudio
@unlink($cache);
$fp = @fopen($cache, 'w');
if($fp) {
fwrite($fp, randoms(9));
fclose($fp);
}
//random function by end
修改 register.htm
打开 templates/default/register.htm 并找到:


代码:[Copy to clipboard]
在上面一行添加:


代码:[Copy to clipboard] $randcode
修改完毕,上传更新!

  需要说明的是,在某些情况下可能会出现用户注册不成功。这种情况就是,当两个人同时注册时,其中一个先于另一个注册完毕,此时填写资料慢的那个就会被提示“您没有填写必填项目,请返回修改。”,这是因为后者获得的随机变量已失效,需要重新提交一次注册。一般这样的几率比较小,除非是一些大站,同时注册的用户很多。针对这个问题,我们会在稍后再发布一个改进版。

发贴关键字屏蔽 v1.0
  前言

  正当自动发贴的狂风暴雨肆虐着社区论坛之时,各方高手也相继推出了各自的防范措施。就针对自动注册,开卷工作室也有自己的一系列作品。而今天,我们要发布的是一个防范那些漏网之鱼,即通过手工注册进来,然后再发布广告等垃圾信息的一个功能插件。这个插件我们很早就做了一个样子出来,一直在中国制造论坛里用着,直到今天,又利用空闲时间把它完善了一下,就拿来发布了。

  这个插件的主要功能是,对新注册进来的用户所发布的帖子进行过滤,如果帖子主题中包含有不被允许的关键字,那么就不允许该帖的发布。并且可以对发布者予以禁言等处罚,避免该发布者再次尝试发布帖子。同时,对于所有帖子发布的屏蔽动作,程序都会自动生成日志,管理员可以通过特定的日志查看页面,查看这些信息,并且实施进一步的管理措施。在该日志查看页面,我们还有其他更进一步的设想,例如增加屏蔽关键字排名,通过这个排名,我们可以知道哪些关键字是经常被用来发布垃圾信息的,而哪些是从来没有遇见过的关键字。这样我们就可以删除这些不被使用的关键字,以提高程序的运行效率。同时,您还可以手工添加一些关键字进去。最后,我们还打算对版主开放其权限范围内的相关日志查看,这样也有利于实现更高效率的论坛管理。当然,在这些功能还未实现之前,您只能通过手动修改关键字列表,增加或删减里面的关键字内容。

  本插件只对新发布的帖子进行帖子主题过滤,这是因为目前大多数的垃圾信息都是以新帖的形式发布的,如果以回复形式发布垃圾信息的行为也开始盛行的话,我们也将会考虑增加回帖过滤,以及帖子内容过滤等措施。

  本插件适用于 Discuz! 所有版本,但附件中所提供的关键字列表文件 banned.txt 为 GB2312 文字编码,使用其它文字编码的论坛,应自行转换该文本为与论坛相一致的文字编码。

更新记录:
2007-02-09 附件中补上了昨天遗漏的 banlog.php 文件,并修正了因缺少日志文件而无法显示页面的问题;为插件添加了论坛动作。
2007-02-25 提供 Big5 版插件导入代码。

名称:开卷工作室发贴关键字屏蔽 v1.0 For Discuz! All Version
难度:容易
适用版本:Discuz!所有版本
作者:KaijuanStudio
发布日期:2007-02-08
发布站点:中国制造论坛
技术支持:http://madeinchn.cn/thread-4-15218-1-1.htm

安装方法如下:


修改:newthread.inc.php


打开 include\newthread.inc.php 并找到:


代码:[Copy to clipboard] if($subject == '' || $message == '') {
showmessage('post_sm_isnull');
}
在下面一行添加:


代码:[Copy to clipboard]//KeywordBanned by KaijuanStudio
if($groupid == 10) {
@$tcontents = file_get_contents(DISCUZ_ROOT.'./keyword/banned.txt');
$banned = explode("\n", $tcontents);
foreach($banned as $num => $ban){
if(preg_match("/".trim($ban)."/", $subject)) {
$bandata = array('keyword'=>$ban, 'subject'=>$subject, 'ip'=>$onlineip, 'name'=>$discuz_user, 'uid'=>$discuz_uid, 'fid'=>$fid, 'time'=>$timestamp);
$bandata = serialize($bandata);
$loginfo = "\n\$banlog[] = '$bandata';";
$cache = './keyword/log.php';
if(!file_exists($cache)) {
$loginfo = " }
$fp = @fopen($cache, 'a+');
if($fp) {
fwrite($fp, $loginfo);
fclose($fp);
}
if($bangroupid) {
if($bangroupexpiry) {
$bangroupexpiry = ($bangroupexpiry * 3600) + $timestamp;
$groupterms['main'] = array('time' => $bangroupexpiry, 'adminid' => '0', 'groupid' => '10');
$groupterms['ext'][$bangroupid] = $bangroupexpiry;
$grouptermsnew = addslashes(serialize($groupterms));
$db->query("UPDATE {$tablepre}memberfields SET groupterms='$grouptermsnew' WHERE uid='$discuz_uid'");
} else {
$bangroupexpiry = '0';
}
$db->query("UPDATE {$tablepre}members SET groupid='$bangroupid', adminid='-1', groupexpiry='$bangroupexpiry' WHERE uid='$discuz_uid'");
}
showmessage('word_banned');
}
}
}
//KeywordBanned End



修改:config.inc.php
在最后面增加:


代码:[Copy to clipboard] $banmod = 1; //开卷工作室关键字屏蔽插件开关,0=关闭,1=开启
$bangroupid = 4; //设置发布敏感内容帖子后,对发布者用户组变更的ID,0=不予变更,4=禁止发言,5=禁止访问(您还可以根据需要设置其他用户组ID)
$bangroupexpiry = 1; //设置以上用户组变更有效期限,单位为小时,0=永久
添加动作
打开 templates\default\actions.lang.php 并找到:


代码:[Copy to clipboard]61 => '查看用户资料',
在上面添加一行:


代码:[Copy to clipboard]60 => '查看屏蔽日志',
上传文件
下载附件,解压后将 upload 目录里的所有内容上传到服务器根目录下,同时将 keyword 文件夹的属性设为可写(777),最后更新以上修改的两个文件。


添加前台链接
进入后台:论坛插件 - 插件设置 - 导入插件数据 - 然后根据您论坛文字编码选择以下插件代码,粘贴到输入框中

GBK(GB2312)版论坛:


代码:[Copy to clipboard]# Discuz! Plugin Dump
# Version: Discuz! 5.0.0
# Time: 2007-2-8 22:45
# From: 中国制造论坛 (http://MadeinCHN.cn)
#
# Discuz! Community: http://www.Discuz.net
# Please visit our website for latest news about Discuz!
# --------------------------------------------------------


YToyOntzOjY6InBsdWdpbiI7YTo5OntzOjk6ImF2YWlsYWJsZSI7czoxOiIx
IjtzOjc6ImFkbWluaWQiO3M6MToiMSI7czo0OiJuYW1lIjtzOjE0OiK3osz5
udi8/NfWxsGxziI7czoxMDoiaWRlbnRpZmllciI7czoxMzoiS2V5d29yZEJh
bm5lZCI7czoxMToiZGVzY3JpcHRpb24iO3M6Mzg6Ir+qvu25pNf3ytK3osz5
udi8/NfWxsGxzsjV1r7kr8DA0rPD5qGjIjtzOjEwOiJkYXRhdGFibGVzIjtz
OjA6IiI7czo5OiJkaXJlY3RvcnkiO3M6MDoiIjtzOjk6ImNvcHlyaWdodCI7
czoxMzoiS2FpanVhblN0dWRpbyI7czo3OiJtb2R1bGVzIjtzOjEzNToiYTox
OntpOjA7YTo1OntzOjQ6Im5hbWUiO3M6NjoiYmFubG9nIjtzOjQ6Im1lbnUi
O3M6ODoixsGxzsjV1r4iO3M6MzoidXJsIjtzOjEwOiJiYW5sb2cucGhwIjtz
OjQ6InR5cGUiO3M6MToiMSI7czo3OiJhZG1pbmlkIjtzOjE6IjEiO319Ijt9
czo3OiJ2ZXJzaW9uIjtzOjU6IjUuMC4wIjt9
UTF-8版论坛:


代码:[Copy to clipboard]# Discuz! Plugin Dump
# Version: Discuz! 5.0.0
# Time: 2007-2-8 22:45
# From: 中国制造论坛 (http://MadeinCHN.cn)
#
# Discuz! Community: http://www.Discuz.net
# Please visit our website for latest news about Discuz!
# --------------------------------------------------------


YToyOntzOjY6InBsdWdpbiI7YTo5OntzOjk6ImF2YWlsYWJsZSI7czoxOiIx
IjtzOjc6ImFkbWluaWQiO3M6MToiMSI7czo0OiJuYW1lIjtzOjIxOiLlj5Ho
tLTlhbPplK7lrZflsY/olL0iO3M6MTA6ImlkZW50aWZpZXIiO3M6MTM6Iktl
eXdvcmRCYW5uZWQiO3M6MTE6ImRlc2NyaXB0aW9uIjtzOjU3OiLlvIDljbfl
t6XkvZzlrqTlj5HotLTlhbPplK7lrZflsY/olL3ml6Xlv5fmtY/op4jpobXp
naLjgIIiO3M6MTA6ImRhdGF0YWJsZXMiO3M6MDoiIjtzOjk6ImRpcmVjdG9y
eSI7czowOiIiO3M6OToiY29weXJpZ2h0IjtzOjEzOiJLYWlqdWFuU3R1ZGlv
IjtzOjc6Im1vZHVsZXMiO3M6MTQwOiJhOjE6e2k6MDthOjU6e3M6NDoibmFt
ZSI7czo2OiJiYW5sb2ciO3M6NDoibWVudSI7czoxMjoi5bGP6JS95pel5b+X
IjtzOjM6InVybCI7czoxMDoiYmFubG9nLnBocCI7czo0OiJ0eXBlIjtzOjE6
IjEiO3M6NzoiYWRtaW5pZCI7czoxOiIxIjt9fSI7fXM6NzoidmVyc2lvbiI7
czo1OiI1LjAuMCI7fQ==
Big5版论坛:


代码:[Copy to clipboard]# Discuz! Plugin Dump
# Version: Discuz! 5.0.0
# Time: 2007-2-25 14:17
# From: 中國製造論壇 (http://MadeinCHN.cn)
#
# Discuz! Community: http://www.Discuz.net
# Please visit our website for latest news about Discuz!
# --------------------------------------------------------


YToyOntzOjY6InBsdWdpbiI7YTo5OntzOjk6ImF2YWlsYWJsZSI7czoxOiIx
IjtzOjc6ImFkbWluaWQiO3M6MToiMSI7czo0OiJuYW1lIjtzOjE0OiK1b6mr
w/bB5KZyq8y9qiI7czoxMDoiaWRlbnRpZmllciI7czoxMzoiS2V5d29yZEJh
bm5lZCI7czoxMToiZGVzY3JpcHRpb24iO3M6Mzg6IrZ9qPekdadAq8e1b6mr
w/bB5KZyq8y9qqTpp9PCc8T9rbatsaFDIjtzOjEwOiJkYXRhdGFibGVzIjtz
OjA6IiI7czo5OiJkaXJlY3RvcnkiO3M6MDoiIjtzOjk6ImNvcHlyaWdodCI7
czoxMzoiS2FpanVhblN0dWRpbyI7czo3OiJtb2R1bGVzIjtzOjEzNToiYTox
OntpOjA7YTo1OntzOjQ6Im5hbWUiO3M6NjoiYmFubG9nIjtzOjQ6Im1lbnUi
O3M6ODoiq8y9qqTpp9MiO3M6MzoidXJsIjtzOjEwOiJiYW5sb2cucGhwIjtz
OjQ6InR5cGUiO3M6MToiMSI7czo3OiJhZG1pbmlkIjtzOjE6IjEiO319Ijt9
czo3OiJ2ZXJzaW9uIjtzOjU6IjUuMC4wIjt9




引用:
原帖由 justcs 于 2007-2-13 02:20 发表
指定的插件模块文件(./plugins/banlog.inc.php)不存在或存在语法错误,请检查是否已将插件完整上传。
这个是什么意思?

在后台插件设置页面中,你不要将模块类型更改为:前台调用(前台菜单),而应该是默认的:直接链接(前台菜单),直接链接地址为:banlog.php

引用:
原帖由 chrishcn 于 2007-2-13 09:13 发表
好象有些问题。不能访问当前页

或许您下载的是没有 banlog.php 文件的版本,请重新下载一楼的附件。
防自动注册、垃圾信息插件合集
作者 五味堂主   查看 312   发表时间 2007/3/26 19:08  【论坛浏览】
.

  暴力注册在各大论坛遍地开花的同时,Discuz! 相关插件的发布和讨论也异常地活跃。开卷工作室在如火如荼的论坛清洁保卫战中,也不遗余力地贡献了自己的一份力量。在短短的几个月时间里,我们陆续发布了各种有效遏制暴力注册与发贴的论坛插件,和相应的管理指导手册。至此,可以说我们已经能够用极小的管理付出,来避免这些垃圾信息对我们论坛的侵扰。下面,我们就将这些插件与指导文章罗列如下,并附上相应的简短说明,以方便广大网友检索查找:

  引用:
.
1、论坛社区反广告指导手册

针对论坛社区反广告、防暴力注册的全方位论坛管理指导教程,既详细分析了后台相关设置的功用与长短,也为大家提供了不同类型的管理设置组合方案。



  引用:
.
2、限制重复发贴
利用较简单的方法来验证所发布的帖子是否是重复发贴,可以有效节省数据库资源,同时也能够防范大量自动重复发布的广告等垃圾帖子。



  引用:
.
3、回帖才可发新主题
只有回复了若干数量的帖子后,才可以发布新主题。提高论坛交流气氛的同时,也可防范暴力软件。因为暴力软件一般都是以发布新主题的方式发贴的。



  引用:
.
4、防暴力注册之随机注册变量
借鉴一个 DZ 上防范暴力注册的插件的思路,为注册页面添加一个随机变量,从而达到有效防范暴力注册的效果。



  引用:
.
5、发贴关键字屏蔽
论坛垃圾信息的最后一道屏障,能够自动过滤并记录下相关发贴信息,同时还可以自动对发布者予以一定期限内的禁止发言或禁止访问的惩罚,既简化了管理负担,也提高了论坛的管理效率。

本文引用地址:http://MadeinCHN.cn/thread-4-15219-1-1.htm



论坛社区反广告指导手册

论坛社区反广告指导手册


.
根据2006年7月CNNIC发布的《中国互联网络发展状况统计报告》显示,43.2%的中国网民经常使用论坛/BBS/讨论组。由于受关注的程度提高了,于是论坛社区受到广告、不良信息等网络流氓行为的侵扰也就尤其地严重,甚至成为了一块污染重地。虽然完全杜绝这些网络流氓行为是不大可能的,尚且在恶意广告和不良信息的性质界定和尺度上大家也是有自己不同的标准。但我们还是能够透过一定的技术和管理手段,来有效控制网络流氓行为对论坛社区的侵扰。

下面就以著名的论坛软件 Discuz! 为例,给大家提供一些管理指导和建议(注:这些功能都能通过论坛后台进行设置,每项措施后面的星号为推荐级别,五星为最高)。


=============================================

一、注册限制措施


注册验证码 (★★★★★)

好处:可以有效限制自动注册的现象,但要求所生成的验证码具有一定的抗软件识别能力。

不足:如果验证码的字形过于正规,某些自动注册软件还是可以通过对验证码图片的文字识别来突破这一限制的。而字形过度变形或干扰过度的验证码图片同样也会给注册者的识别带来难度。所以,一个好的注册码防范措施应该采用特殊字体,而非正规字体来生成注册码,同时加入一定的干扰元素,但要确保注册的会员能够清晰辨认并识别图片中的字形。而如果能够实现汉字生成注册码,并且对文字进行一定的不规则倾斜旋转调整,那么这样就几乎可以阻挡任何非人工注册的行为了。


邮箱验证(★★★☆☆)

好处:能够有效杜绝自动注册软件的侵扰,因为使用自动注册软件的目的就是在于迅速地大量注册 ID ,并利用这些账户 ID 来发布信息。而如果想要获得邮箱验证的通过,那就必须透过人工对论坛发送的验证邮件进行账户验证,这就给发布不良信息的人增加了时间成本,也就失去了使用自动注册软件的意义。

不足:在为自动注册设置障碍的同时,这项措施也成为了正常注册的一道门槛,由此我们必定会因为这项措施失去一小部分的潜在用户。同时,基于论坛社区所在的服务器的技术故障以及程序自身设置及故障,可能会在某一时段造成无法对注册用户发送验证邮件的现象,从而对论坛正常运作带来不利影响。


人工审核新用户注册(★★☆☆☆)

好处:基本上可以防范自动注册软件的注册,因为这些软件注册的用户名一般都是随机生成的没有任何意义的混乱字符串。

不足:不排除有些用户名也是一些看似毫无意义的字符串,同时,人工审核毕竟有一定的局限性,例如管理人员的工作量,工作时间等。由于这些局限性,可能会为论坛的正常管理带来负担,为论坛的正常运作带来不利影响。试想,当一个新会员刚注册却不能马上通过,这已经会流失一部分会员了。而如果再加上管理人员因为其它事情耽搁了审核,那样损失就会更进一步扩大。


同一邮箱限制(★★★☆☆)

好处:可以进一步限制重复注册的现象,以期获得更高的安全系数。

不足:虽然重复注册可能会被用于重复发布广告与不良信息,但论坛设区里的马甲现象也是互联网一种独特的风景与文化,杜绝了重复注册,在一定程度上会影响论坛的人气。


同一 IP 注册间隔限制(★★☆☆☆)

好处:同样可以较为有效地阻止自动注册的流氓行为,可以防范某一时段内大量的重复注册。

不足:什么事情都有其两面性,同一 IP 注册时间间隔的限制既限制了大量的重复注册,但同时也会限制正常的注册。例如在一个校园网内,一个网吧里,每台电脑均共用一个 IP 地址,这样其实也限制了这类网络用户的注册。


IP 段限制(★☆☆☆☆)

如果你的论坛是一个只面向于局域网内用户,或特定地区用户的,就可以考虑采用 IP 段限制注册或访问。这样,在所设置的 IP 段之外的访问者就无法进入你的论坛注册或者访问了,从而最大限度地避免了外部干扰。这一措施的推荐级别只有一星,指的是其适用范围只适合于特殊的极少数区域论坛,而并非因为其效果不佳。

=============================================

二、发贴限制措施


新会员发贴时限(★★★☆☆)

好处:设置刚注册进来的新会员在一定的时限内不能发帖,这是比较有效的一个防范 AD 和不良信息的手段。因为要求一个自动注册进来的 ID 在一定的时间内回访你的论坛,这在技术上是非常难实现的一件事。即使是人工注册进来的,这样的限制也给他带来了操作上的难度。

不足:即使这项措施效果较理想,也比较多人采用。但是非常遗憾的是,自动回访似乎已经有自动注册软件可以实现了,虽然回访并发帖的成功率稍微会有所下降,且执行效率也不高,但也打破了这一措施铜墙铁壁的完美形象。同时,启用新会员发贴时限后,这对论坛正常信息交流也存在着非常不利的影响,论坛也会因此有流失少数会员的可能。


新会员发帖审核(★★★★☆)

好处:设定初始级别的新会员的发帖与回复均需要管理人员的审核,才能正式发布。这样可以有效阻止广告及不良信息的侵入,达到一夫当关万夫莫开的效果。而当会员积分达到更高级别时,便不再需要发帖审核了。

不足:与新会员注册审核一样,新帖审核同样要增加管理人员的工作负担,同样也会受到不能及时审核通过而造成的不利影响。


发贴验证码(★★☆☆☆)

好处:可以进一步限制自动发贴的可能,加入注册验证码不能阻止自动注册,那么发贴验证码或许可以成为第二道防线。因为该自动注册发帖软件不一定还具备有发帖再次进行验证码识别的功能。

不足:如果说上面的假设是一厢情愿的想法,其实也不为过。毕竟能够突破注册识别,要突破发帖验证识别就不会有什么技术障碍,那只是想不想得到的问题。同时,一个论坛在正常运作时正常发帖的比例一定是远大于发布不良信息的比例的。为了这小部分人而让大多数人改变发贴习惯,降低发帖效率,这样的代价也非常的不划算。


发帖时间间隔限制(★★★☆☆)

好处:这样能够降低自动发贴以及恶意灌水的发帖频率,毕竟正常的发帖时间间隔一般不会太短,一般两次发贴之间一分钟的时间间隔还算合理,而低于30秒钟的发帖间隔,其非法性的可能会大大增加。所以在管理人员发现这些非法发贴之前,这项措施可以有效减少这类帖子的数量。

不足:对于会员的正常发帖,特别是发布连载或系列图片时,这项限制多少还是会让人觉得不快的。因为有些人期望作品的连贯性,而在他等待时间限制的间隔里,可能就有别的会员跟帖回复了。


发帖时间段限制(★★★☆☆)

好处:设定管理人员不在线时不允许会员发不新帖,或者所发布的内容均需要管理人员审核。这样可以有效弥补论坛的管理空缺,避免不良企图与管理人员玩猫抓老鼠的游戏,从而赢得一定的信息曝光度。

不足:如果是设置在特定时间内不允许发贴,这自然可以节省系统资源,但却阻碍了论坛正常的信息交流。而不管是特定时段内禁止发帖还是审核发帖,这多少会对论坛的发展带来不利影响。因为这将不同作息时间的人群阻挡在了门外,所以如果你的论坛不仅仅是面向国内用户,那么不建议采用此项措施。

=============================================

组合方案

  引用:
总结
  [color=DeepSkyBlue]通过上面的分析与对比,我们可以发现,没有任何一项措施可以完全达到最理想的反流氓行为效果,每一项措施都或多或少地有其一定的局限性,而且我们每个论坛的实际情况都不尽相同。所以我们就需要有不同措施搭配在一起使用,以便实现最符合各自论坛自身利益的防范方案。下面,我们就试图通过不同的侧重点来组合几套实施方案,以供大家参考。

信息安全为重的方案

措施:邮箱验证新会员、同一邮箱限制、新会员发帖审核、发帖时间间隔限制(1分钟)、发帖时间段限制

说明:邮箱验证新会员虽然效率低一些,但比较安全。虽然可能会失去部分会员,但如果你的论坛却是很有价值,那么你得到的新会员,将会比失去的那部分更有价值。因为越为主动的注册行为,证明了注册者对论坛的兴趣越大。而失去的那部分,可能是准备发布广告的人,以及对你的论坛没有不会有太大作用的用户。而新会员的发贴审核,将会有效阻止不良信息的出现,同时在审核新帖的过程中,如果发现发布不良信息的行为,我们还可以在后台对其进行禁止访问的处罚。要实现新会员发帖审核,首先需要对论坛里的所有公开栏目进行“发帖回复均需要审核”的设置,然后再设置论坛最低级别的普通用户组发帖回复均需审核。而更高级的所有用户组均设置为无需审核。前面设置了新会员发帖审核,那么为何后面还要设置发帖时间段限制呢?因为前面的只是针对初级会员组的限制,而发帖时间段的限制却是针对所有会员的限制。也就是说,如果设置凌晨零点至早上八点所有新帖均需要审核的话,那么论坛的所有会员(管理员组可设置为例外)在这一时段内的发帖均需要管理人员审核通过之后,才能够被所有人浏览。


论坛人气与安全并重

措施:注册验证码、新会员发帖审核、发帖时间间隔限制(30秒)

说明:注册验证码只对防范自动注册起作用,对人工注册进来发广告的人是不起作用的。所以在发贴时增加新人帖子审核,这就形成了完美组合。发现发布 AD 和不良信息者,再对其进行禁止发言的处罚。这样的措施组合对新会员注册的限制是最少的,所以不会影响论坛人气。同时对于发布广告者进行禁言,而非禁止访问的处置,也多少可以利用他们的回访,为论坛贡献点IP,呵呵。


系统资源与安全并重

措施:人工审核新用户注册、同一邮箱限制、同一 IP 注册间隔限制、新会员发帖审核、发帖时间间隔限制(1分钟)、发贴验证码、发帖时间段限制

说明:应该说这是最为严厉的限制措施了,目的在于保证论坛信息安全的前提下尽量节省论坛资源的占用。人工审核新会员,并把不符合审核条件的 ID 清除掉,同一邮箱、同一 IP 限制,都可避免大量重复注册现象。审核新会员发帖时,若发现发布广告与不良信息者,也当即删除其 ID,同时还可以考虑禁止其 IP ,以避免此人再次注册(不过现在多数人都是通过 ADSL 拨号上网,都不是固定 IP,所以禁止 IP 的用处也就不是非常大了)。

本文引用地址:http://MadeinCHN.cn/thread-38-9478-1-1.htm



  前两天我们开卷工作室向大家详细介绍了 Discuz! 论坛防范广告及不良信息的管理方案(详见《论坛社区反广告指导手册》)。采取了这些防范措施之后,那些无孔不入的垃圾信息一般是不会再出现在你的论坛前台了。不过,要是真遇到大量发布广告的情况,即使论坛前台看不见这些帖子,但在后台需要审核成百上千个重复的垃圾帖子,也实在是为管理人员增添了不少麻烦。

  鉴于这种情况,我们开卷工作室便又进一步跟进,专门为此而编写了一个防范重复发贴的插件。以前在 DZ 官方论坛里好像也有人发布过类似插件,印象中那个好像挺占系统资源的。其实这个功能并不复杂,同时兼顾程序效率的问题,也就可以很容易实现了,所以我们就自己写了一个。

名称:开卷工作室限制重复发贴 For Discuz! All Version
安装难度:极易
适用版本:Discuz!所有版本
作者:KaijuanStudio
技术支持:MadeinCHN.cn
发布站点:中国制造论坛

安装步骤:

核心修改

打开 include\newthread.inc.php

查找:


代码:[Copy to clipboard] if($subject == '' || $message == '') {
showmessage('post_sm_isnull');
}
在后面一行添加:


代码:[Copy to clipboard]//Refuse repeated post. Code by KaijuanStudio
if($repeated == 1) {
$query = $db->query("SELECT tid, subject FROM {$tablepre}threads WHERE authorid='$discuz_uid' AND subject='$subject'");
if($db->num_rows($query)) {
$repeat = $db->fetch_array($query);
showmessage('post_repeated', 'index.php');
}
} elseif ($repeated == 2) {
$query = $db->query("SELECT tid, subject FROM {$tablepre}threads WHERE subject='$subject'");
if($db->num_rows($query)) {
$repeat = $db->fetch_array($query);
showmessage('post_repeated', 'index.php');
}
} elseif ($repeated == 3) {
$query = $db->query("SELECT tid, authorid, subject, message FROM {$tablepre}posts WHERE first='1' AND subject='$subject'");
if($db->num_rows($query)) {
$repeat = $db->fetch_array($query);
if($repeat['authorid'] == $discuz_uid) {
showmessage('post_repeated', 'index.php');
}

function SubString($str, $start, $len = 0xFFFFFFFF) {
if($start < 0) {
$start = strlen($str) + $start;
}
if($len < 0) {
$len = strlen($str) - $start + $len;
}
$tmp = '';
$result = '';
$strlen = strlen($str);
$begin = 0;
$subLen = 0;
for($i = 0; $i < $start + $len && $i < $strlen; $i++) {
if($i < $start) {
if(ord($str[$i]) >= 161 && ord($str[$i]) <= 247 && ord($str[$i+1]) >= 161 && ord($str[$i+1]) <= 254) $i++;
} else {
$begin=$i;
for(; $i<$start+$len && $i<$strlen; $i++) {
if(ord($str[$i]) >= 161 && ord($str[$i]) <= 247 && ord($str[$i+1])>=161 && ord($str[$i+1])<=254) $i++;
}
return substr($str,$begin,$i-$begin);
}
}
}

if(strlen($message) > 60) {
if(SubString($message, -100) == SubString($repeat['message'], -100) || SubString($message, 50, 100) == SubString($repeat['message'], 50, 100)) {
showmessage('post_repeated', 'index.php');
}
} else {
if($message == SubString($repeat['message'], 0, 60)) {
showmessage('post_repeated', 'index.php');
}
}
}
}
//Refuse repeated post. Code End


添加提示信息

打开:templates\default\messages.lang.php


查找:


代码:[Copy to clipboard] 'post_net_price_iszero' => '您的主题售价扣除积分交易税后为 0,请返回修改。',
在后面一行添加:


代码:[Copy to clipboard] 'post_repeated' => '您所发布的主题已存在:《$repeat[subject]》请勿重复发布。',


添加设置

打开:config.inc.php


在最后添加一段:


代码:[Copy to clipboard] $repeated = 0; //设置防范重复发贴的级别,0=关闭,1=防范相同ID发布相同标题的新主题,2=防范发布相同标题的新主题,3=防范发布相同标题且内容部分相同的新主题
  您可根据自己的需要,随时更改 $repeated 的数值,以关闭或开启限制重复发贴不同的防范级别。


完成!
  上传更新修改的三个文件。

回帖才可发新主题
  年初的时候,一个朋友突发奇想,说想通过限制那些不会帖的人发布新主题,以达到活跃论坛交流气氛的目的。因为他的论坛是一个文学论坛,很多人都只为了展示自己的作品,发布完自己的文章就走掉了,也不和别人交流探讨。久而久之,论坛里就有很多没人回复的“光棍帖子”。我也觉得这是个不错的创意,于是就帮忙完成了这个插件。昨天看见有朋友说,也希望能有这么个插件,用来防范那些暴力软件来论坛捣乱。因为这些暴力软件一到论坛里就毫不客气地乱发一通,把你所有论坛都全部发满垃圾信息。而如果需要回复若干帖子之后才能发布新主题的话,就目前而言,应该是能够起到防范的作用的。想想这的确也是一个不错的办法,于是今天就整理了一下,给大家发布了这个插件。

  插件说明:论坛管理人员发贴不受此插件限制。本插件提供两种限制模式,一为每回复3个帖子就可以发一个新主题,也就是说回复数可以累加。例如某个会员回复了30个帖子,那么他就能发布10个新主题。另一种是回复数不累加,也就是说每次发布新主题之后,这个会员的回复数都将被清零。下次需要发新主题时,他最少还得再回3个帖子。
  程序默认设置为需要回复3个帖子才能发布新主题,你也可以根据自己需要修改这一数值。而如果你需要关闭这一限制功能时,把这一数值设置为0就可以了。同时,文章最后还提供了反安装的方法,方便不再需要此插件的朋友进行反安装。

名称:开卷工作室回帖才可发新主题 For Discuz! All Version
安装难度:易
适用版本:Discuz!所有版本
作者:KaijuanStudio
技术支持:MadeinCHN.cn
发布站点:中国制造论坛

安装步骤:


升级数据库


代码:[Copy to clipboard]ALTER TABLE `cdb_members` ADD `replynum` mediumint(8) NOT NULL
添加提示信息

打开:templates\default\messages.lang.php


查找:


代码:[Copy to clipboard]'post_hide_nopermission'
在其前面一行添加:


代码:[Copy to clipboard] 'post_noreply' => '对不起,您新回复的帖子不足 $countre 个,不能发新帖,请返回。',



修改 newreply.inc.php

打开:include\newreply.inc.php


查找:


代码:[Copy to clipboard]if($modnewreplies) {
在前面一行添加:


代码:[Copy to clipboard]//take count of reply by KaijuanStudio
if($countre && !$adminid) {
$db->query("UPDATE {$tablepre}members SET replynum=replynum+1 WHERE uid='$discuz_uid'", 'UNBUFFERED');
}
//take count of reply End



修改 newthread.inc.php

打开:include\newthread.inc.php


查找:


代码:[Copy to clipboard]$discuz_action = 11;
在下面添加:


代码:[Copy to clipboard]//take count of reply by KaijuanStudio
if($countre && !$adminid) {
$query = $db->query("SELECT replynum FROM {$tablepre}members WHERE uid='$discuz_uid'");
if($db->result($query, 0) < $countre) {
showmessage('post_noreply');
}
}
//take count of reply End
继续查找:


代码:[Copy to clipboard]if($modnewthreads) {
在前面一行添加:
*注:以下为回复数可累加的修改代码


代码:[Copy to clipboard]//take count of reply by KaijuanStudio
if($countre && !$adminid) {
$db->query("UPDATE {$tablepre}members SET replynum=replynum-$countre WHERE uid='$discuz_uid'", 'UNBUFFERED');
}
//take count of reply End
*注:以下为回复数不累加的修改代码


代码:[Copy to clipboard]//take count of reply by KaijuanStudio
if($countre && !$adminid) {
$db->query("UPDATE {$tablepre}members SET replynum='0' WHERE uid='$discuz_uid'", 'UNBUFFERED');
}
//take count of reply End
添加设置

打开:config.inc.php


在最后添加一段:


代码:[Copy to clipboard] $countre = 3; //设置回复才可发帖的回复数,0=关闭,默认为3,即:需要回复3个帖子才能发新帖。


完成!

反安装方法:

数据库反安装:


代码:[Copy to clipboard]ALTER TABLE `cdb_members` DROP `replynum`
对照上面提供的安装方法,删除各文件所增加的代码。


 顺便提供一种模式------每个新注册的会员必须回贴三个才能发主题,以后不受影响。

去掉这段代码:
//take count of reply by KaijuanStudio
if($countre && !$adminid) {
$db->query("UPDATE {$tablepre}members SET replynum=replynum-$countre WHERE uid='$discuz_uid'", 'UNBUFFERED');
}
//take count of reply End

防暴力注册之随机注册变量
  在《生成唯一随机字符串的函数》一文中,我们已经介绍了本插件所使用到的关键技术,即:产生以随机字符串为名的变量。这个插件的原创者,是 DZ 论坛上的一个朋友,由于一下搜索不到那个帖子,所以叫不出名字来。我们今天发布的就是在那个插件创意的基础上,进行改良的作品。通过这几天的使用效果来看,这个插件目前能够 100% 地防范暴力注册的现象,偶尔还有进来发广告的,那都是些通过手工注册进来的极少数。自然这些也在我们的管理与功能插件的控制范围之内。详细的防范办法与相关插件,我们都已发布于中国制造论坛里,而且陆续还会有新的相关插件出来。废话不多说了,下面就进入今天的正题:

名称:防暴力注册之随机注册变量
难度:简单
作者:KaijuanStudio
技术支持:MadeinCHN.cn
适用版本:Discuz! 所有版本
发布站点:中国制造论坛
演示地址:
http://madeinchn.cn/register.php
效果说明:
  使用本插件后,用户注册需要勾选“我要注册为会员”的确认选项,否则不能通过注册。由于这一选项设定的是一个随机变量,所以能够防范暴力注册软件的识别。

修改步骤:


修改 register.php:
找到:


代码:[Copy to clipboard]$fromuid = $_DCOOKIE['promotion'] && $creditspolicy['promotion_register'] ? intval($_DCOOKIE['promotion']) : 0;
在下面一行添加:


代码:[Copy to clipboard]//random function by KaijuanStudio
$cache = './forumdata/cache/KS2007r2dci.txt';//注:请务必把这个 txt 文件名改成另一个无意义的名字
@$cont = file_get_contents(DISCUZ_ROOT.$cache);
if(!$cont) {
$cont = randoms(9);
$fp = @fopen($cache, 'w');
if($fp) {
fwrite($fp, $cont);
fclose($fp);
}
}
function randoms($leng){
$edh = '0123456789abcdefghijklmnopqrstuvwxyz';
return 'k'.substr(str_shuffle($edh),0,($leng));
}
//random function end
找到:


代码:[Copy to clipboard]include template('register');
在上面一行添加:


代码:[Copy to clipboard]//random function by KaijuanStudio
$randcode = '
确认注册 我要注册为会员

序号 评论者 共有评论 0   【论坛浏览】  【发表评论】 评论时间
当前无任何评论,或评论已被禁止显示
 共有评论数 0  每页显示 10
页码 1/0  |<  <<     >>  >| 
蜀ICP备19025207号-1 Powered by 五味堂 版权所有 © 2000 - 2020
Powered by DiY-Page 5.3.0 © 2005-2024