见到一个朋友在询问关于防群发软件的恶意注册的回答问题,经过一个中午的测试,已经做好,需要的朋友可以下载,我是在bbsxp2008中测试的。
打开createuser.asp文件。
1. 在<!-- #include file="API_Request.asp" -->
下面添加:
<!-- #include file="CheckEvil.asp" -->
2. 在代码
HtmlTop
下面添加:
Randomize
Session("EvilID")=int(Rnd*QuesionNum)
EvilQuesion=QuesionArray(Session("EvilID"))
3. 在下面这段代码:
if SiteConfig("EnableAntiSpamTextGenerateForRegister")=1 then
if Request.Form("VerifyCode")<>Session("VerifyCode") or Session("VerifyCode")="" then
Message=Message&"<li>验证码错误!</li>"
else
Session("VerifyCode")=""
end if
end if
后面添加:
If Request.Form("EvilAnswer")="" Then
ErrCodes=ErrCodes+"<li>"+"请填写防恶意注册问题!"
End If
If Not CheckEvil(Request.Form("EvilAnswer")) Then
Message=Message&"<li>防恶意注册问题回答错误,请返回重试。</li>"
End If
4. 在下面的代码
<tr class=CommonListTitle>
<td colspan="2" valign="middle" align="Left"> 注册用户资料</td>
</tr>
后面添加:
<tr class="CommonListCell">
<td align="right"><div style="color:red"><b>反论坛群发必填项:</b></div>
</td>
<td><div style="color:blue;font-size=18px"><b><%=EvilQuesion%><b></div>
<div> = <input size=10 name=evilanswer> (为了防止群发软件的恶意注册,请回答问题。)</div></span></td>
</tr>
5. 在论坛根目录下新建文件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)="1+1=?"
AnswerArray(0)="2"
QuesionArray(1)="3+2=?"
AnswerArray(1)="5"
QuesionArray(2)="4+6=?"
AnswerArray(2)="10"
QuesionArray(3)="你喜欢这个论坛吗?"
AnswerArray(3)="喜欢"
QuesionArray(4)="红楼梦的作者是谁?"
AnswerArray(4)="曹雪芹"
%>
更多的防止群发软件的恶意注册的问题设置请到论坛查看: http://BBS.TC711.COM
【 双击滚屏 】 【 评论 】 【 收藏 】 【 打印 】 【 关闭 】
来源:
互联网
日期:2008-10-29