电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> Asp>>防止动网论坛(dvbbs)_注册机群发_恶意群发的方法2则:

防止动网论坛(dvbbs)_注册机群发_恶意群发的方法2则

来源:网络 | 2008-4-19 | (有4266人读过)

      CNCFAN.COM提示:许多**在使用过程中都会遇到垃圾信息群发的情况,以下是一篇关于动网**(dvbbs)遭注册机群发或者恶意群发问题的解决办法:

      在动网**dvbbs使用过程中,有很多**遭到诸如暴力营销软件的骚扰,如通过注册机在**群发垃圾广告信息等。如何有效防止这些注册机群发垃圾信息呢?目前**是采用增强验证码和审核机制来限制群发。无疑,审核是针对已注册帐号的群发。既要让正常用户发帖,要要阻止软件利用已存在帐号群发,绝对是个难题。这里我只讨论如何有效阻止群发软件的注册。
预计使用此法后,不会再有“自动注册机”得逞。群发软件作者将会把重心转移到利用已存在的帐号上。
      一、使用增强的验证码
这是一个比较正式使用比较广泛的做法。将你联想到手机强大的手写识别功能后,你就会对这种方法的可靠性提出怀疑。但是如何更好地增大软件的识别难度,仍是大家努力的方向。 
      二、让注册者回答固定问题
软件能识别验证码,但是绝对不会识别诸如以下文字:“请回答三加二等于几,用英文表示”。人工智能还达不到这种水平。基于这种思路,我们就可以让注册者回答问题。但这个问题绝对不要写成:“请回答本**的名字”,“今天是星期几”,“请复制以下文字”之类的易破解问题。你可以考虑让用户回答与**有关的话题。假设你的**是讨论金庸的。你可以这样说:“为证明你是一个金庸迷,请回答以下问题:《射雕英雄传》的东邪西毒南帝北丐中,西毒是谁”。
我这里只给出了思路,由于时间关系,还没有写相应的实现代码。如果大家支持本帖,我会在下次补上。当然也希望热心人把修改方法提供给大家。
一个常用的防止注册机在DVBBS动网**恶意群发布垃圾贴子的办法就是设置**问题和答案,具体步骤是:进入动网**DVBBS后台的风格界面模板总管理,page_login,template.html(13) 
<TR>
<TD class=tablebody1><B>密码问题</B>:<BR>忘记密码的提示问题</TD> 
在此两句上面添加如下代码 
<TR>
<TD class=tablebody1>
<div style="color:red"><b>反**群发必填项:</b></div>
<div>为了防止群发软件的恶意注册,</div>
<div>请回答以下问题</div>
<div style="color:blue;font-size=18px"><b>{$EvilQuesion}<b></div>

</TD>
<TD class=tablebody1><INPUT size=30 name=evilanswer> </TD>
</TR>
2. 打开reg.asp,找到
<!--#include file="inc/md5.asp"-->
在其下添加
<!--#include file="inc/CheckEvil.asp"-->
找到
TempLateStr=Replace(TempLateStr,"{$user_belief}",Selectinfo(5))
在其下添加
Randomize
Session("EvilID")=int(Rnd*QuesionNum) 
TempLateStr=Replace(TempLateStr,"{$EvilQuesion}", QuesionArray(Session("EvilID")))
找到
Else
quesion=Request.form("quesion")
End If
在其下添加
If Request.Form("EvilAnswer")="" Then
ErrCodes=ErrCodes+"<li>"+"请填写防恶意注册问题!"
End If
If Not CheckEvil(Request.Form("EvilAnswer")) Then
ErrCodes=ErrCodes+"<li>"+ "防恶意注册问题回答错误,请返回重试。"
End If
3. 增加一个新文件CheckEvil.asp,填写如下代码,并上传到**inc目录下,即 /inc/CheckEvil.asp。
<%
Dim QuesionArray(100)
Dim AnswerArray(100)
Dim QuesionNum
QuesionNum=5 ’请在这里正确设置问题的总数
Function CheckEvil(Answer)
Dim TrueAnswer
If Session("EvilID")="" Then
CheckEvil=False
Exit Function
End If
TrueAnswer=CStr(AnswerArray(Session("EvilID")))
If Answer=TrueAnswer Then
CheckEvil=true
End If
End Function
QuesionArray(0)="12的平方是多少?(数字)"
AnswerArray(0)="144"
QuesionArray(1)="中国最长的河流叫什么名字?"
AnswerArray(1)="长江"
QuesionArray(2)="“举头望明月”的下句是什么?(提示:低头??乡)"
AnswerArray(2)="低头思故乡"
QuesionArray(3)="“举头望明月”的下句是什么?(提示:低头??乡)"
AnswerArray(3)="低头思故乡"
QuesionArray(4)="中国史上唯一的女皇是谁?(提示:武?天)"
AnswerArray(4)="武则天"
%>
Asp热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号