[B]
【推荐方法4,已在本机测试成功代码无误!针对自动注册,绝对有效!】
【如上图所示:在注册时添加了一项“请问我们论坛的中文名是什么?”并且提供答案,对正常注册没任何影响。】
[/B]
[B]
唉,暑假没事情做,天天在网上溜达 ··发现也有其他的一些论坛出现过恶意广告的
问题,也是不是很很很出名的BBS,网上有一种软件叫“营销风暴”,它可以自动在论坛
注册,并且发帖子,因为已经注册,所以没办法禁止它发贴。类似的“流氓软件”有很多。
先假设是软件自动注册类的:
就我个人了解,一些“智能软件”(模拟人活动的软件,我自己定义的,HOHO),无
非是抓住了一些过程的相同部分,然后举一反三,达到众多的目的。拿这点来说,比如说
注册类网站:首先,注册是一个过程(好像是废话)。用户填写表单,然后点“提交”,
就开始了数据的传递,动网的论坛(因为我们武穴人是动网的,就拿这丫来说吧),当然
其他论坛我估计也跟动网差不多,它们“用户名”表单上用的变量多是“name”吧(密
码应该是“PSW”还有像EMAIL啊··都一个理儿)
“智能软件”就把"name"和“PSW”变量通过电脑随机产生用户名密码赋给他们(带有特殊含义的也说不定),
自动完成了我们填写表单的过程,然后在提交给服务器注册。这就是简单的一个注册的过程,至于它怎么发贴,偶还在研究,防止自
动注册是关键HOHO ···
所以我们要防止恶意的自动注册,必须改变那个相同的部分,以下是一个小方法:
1.进入后台:
找到:风格界面模板总管理 》》 分页面模板(page_login) 》》 界面风格 》》 template.html(13)在后面的有代码的区域理找到 【INPUT maxLength="{$NameMaxLength}" size=30 name=name】(为了正确显示,我把"<>"替换成"【】")”
2.将右边name改为其他值,比如改成 “name1”(改成其他的也行,老大作主!)
3.然后打开根目录下reg.asp,以关键词Request.form("name")进行查找替换,将其全部替换为Request.form("name1")
完成了以上的部分,当垃圾软件把它自身的“name”送到服务器的时候,却没人去接收(因为我们只收name1),HOHO ···你丫自个玩去吧 ···另外发贴是可以设置每次填写验证码,不过对我们自己好像也不方便···权衡一下··
像密码,邮件都一样,想改也行 ····
P.S.以上的方法我在我机器上测试通过···
再假设是人工注册的:
因为是聪明的人类来工作,没办法,豆豆,AP你们辛苦哈子,来一个删一个,来一坨,删一坨 ··· · ·
[em01][em01][em01][em01][em01]
这几天广告又多了,ID都是由字母+数字组成,基本上可以肯定是自动注册的.
1.AP可以考虑把name改成一个更特殊的字符串,如wuxue、china等。
2.AP可以考虑把论坛的目录做修改:如把/bbs改成/bbs_wuxue
3.这个是我觉得最有效的方法:注册验证码打开,不过如果用动网本身的验证码恐怕不行,因为动网论坛验证码是单纯的数字或字母显示,很容易被识别;而且群发软件已经针对动网等论坛程序的随机码产生ASP程序做了连接比较的,验证码对他们而言没用!我们必须做一些带有干扰性的验证码。如现在的腾讯公司免费申请QQ号页面上用的是中文验证码,这样那些软件一点用都没。。。。[/B]
4.这个方法比较狠,不过要修改源程序。先看看···,我在自己机器上试试,可以的话我告诉AP。
先看程序(reg.asp)
1、找到235行-246行的内容
If Request.form("quesion")="" Then
ErrCodes=ErrCodes+"【li】"+template.Strings(11)
Else
quesion=Request.form("quesion")
End If
If Request.form("answer")="" Then
ErrCodes=ErrCodes+"【li】"+template.Strings(11)
ElseIf Request.form("answer")=Request.form("oldanswer") Then
answer=Request.form("answer")
Else
answer=md5(Request.form("answer"),16)
End If
在其下面插入
'防止恶意注册添加项
If Request.form("Forumname")="" Then
Response.redirect "showerr.asp?ErrCodes=【li】您没有回答“防恶意注册问题答案”!&action=OtherErr"
Else
If Request.form("Forumname")【】Dvbbs.Forum_Info(0) Then
Response.redirect "showerr.asp?ErrCodes=【li】请回答正确的“防恶意注册问题答案”!&action=OtherErr"
End If
End If
2、114行处找到
TempLateStr=Replace(TempLateStr,"{$user_belief}",Selectinfo(5))
在其下面添加一行
TempLateStr=Replace(TempLateStr,"{$Forumname}",Dvbbs.Forum_Info(0))
然后再看风格处的修改,后台界面风格模板总管理page_login template.html(13)中找到
【INPUT type=text size=30 name=answer】
【/TD】【/TR】
在其下面插入
【TR】
【TD class=tablebody1】【B】本论坛的中文名称是什么?【/B】【BR】【font color=red】此条为防止恶意注册必填项!答案:【/font】【font color=blue】{$Forumname}【/font】【/TD】
【TD class=tablebody1】
【INPUT maxLength=50 size=30 name=Forumname】【/TD】
【/TR】
至此结束,可以和那些恶意注册的垃圾暴力营销说拜拜了。
[B]
5.其他的一些方法:如限制新注册用户在多少时间内不能发贴,或者是必须先恢复一篇帖子才能发贴等等等 ···
[/B]
[此贴子已经被作者于2005-8-15 15:48:39编辑过]