导航

杭州网站建设专家-兆合信息

兆合信息技术 构建品质网站

if 条件语句 »

防止恶意注册

方法一:

1.打开reg.asp文件
先找到:

answer=md5(Request.form("answer"),16)
End If
其下面增加:

'ssa加入防止恶意注册必填项
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

再找到: TempLateStr=Replace(TempLateStr,"{$user_belief}",Selectinfo(5))
在其下面添加一行: TempLateStr=Replace(TempLateStr,"{$Forumname}",Dvbbs.Forum_Info(0))

2.后台界面风格模板总管理page_login template.html(13)中找到

<TD class=tablebody1><B>问题答案</B>:<BR>忘记密码的提示问题答案,用于取回论坛密码</TD>
<TD class=tablebody1>
<INPUT type=text size=30 name=answer>
</TD></TR>
后面添加:

<TR>
<TD class=tablebody1><B>本论坛的中文名字是什么?</B><BR><font color=red>此条为防止恶意注册必填项!<br>
答案:</font><input type="text" value={$Forumname} onclick="oCopy(this)" readonly style="border-left:none; border-right:none; border-top:none; border-bottom: 1 solid blue;background:transparent;width:180px;color:blue"> <button style="font-size:12px; cursor:help; border-left:none; border-right:none; border-top:none; border-bottom:none; background:transparent" onclick="window.clipboardData.setData('text',this.previousSibling.value)">
<font title="点击即可复制答案">(点击复制)</font></botton></TD>
<TD class=tablebody1>
<INPUT maxLength=50 size=30 name=Forumname></TD>
</TR>

<TR>
<TD class=tablebody1><B>OICQ号码</B>:<BR>强烈推荐填写,方便在论坛上互动联系<font color=red>(4--13位)<br><font color=green>请填写真实的QQ号,方便浩天与您联系</font></TD>
<TD class=tablebody1><INPUT maxLength=50 size=30 name=OICQ><font color=red>*</font>假的就别填写啦!</TD>
</TR>


方法二:让注册者回答随机问题

显然,这是上个思路的一点改进。至于在效果上是否有区别,还未实践证明。

这里我给出了修改方法。蓝色代码为已存在代码,红色代码是新增加代码。

1.
  进入后台,风格界面模板总管理,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)="25175"
QuesionArray(2)="“举头望明月”的下句是什么?(提示:低头?故乡)"
AnswerArray(2)="低头思故乡"
QuesionArray(3)="25175主要是从事什么事业的公司?(提示:教育?企业?政府)"
AnswerArray(3)="教育"
QuesionArray(4)="中国史上唯一的女皇是谁?(提示:武?天)"
AnswerArray(4)="武则天"

 

 

%>

 

方法三:

一、修改reg.asp文件

1、找到352行-360行的内容

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
在其下面插入

'防止恶意注册添加项 by 25175If Request.form("Forumname")="" Then
Response.redirect "showerr.asp?ErrCodes=<li>您没有回答“防恶意注册问题答案”!&action=OtherErr"
Else
If Request.form("Forumname")<>"25175.com" Then
Response.redirect "showerr.asp?ErrCodes=<li>请回答正确的“防恶意注册问题答案”!&action=OtherErr"
End If
End If
2、162行处找到——注意:这处可以不添加!

TempLateStr=Replace(TempLateStr,"{$user_belief}",Selectinfo(5))
在其下面添加一行

TempLateStr=Replace(TempLateStr,"{$Forumname}","25175.com")
二、然后再看风格处的修改,进入后台-界面风格模板总管理-page_login-风格 template.html(13)中找到

document.write ('<input type="password" style="float:left" maxLength="16" size="30" name="{$pswc}" onblur="RegCheck.pass(this.value,\'{$pswc}\',1)"/><div id="isok_{$pswc}" class="forminfo"></div>');

在其下面插入


document.write ('<TR>');
document.write ('<TD class=tablebody1><font color=red><B>下面蓝色部分是什么?</B><BR>此为防止恶意注册必填项!请直接COPY答案:</font><font color=blue>25175.com</font></TD>');
document.write ('<TD class=tablebody1>');
document.write ('<INPUT maxLength=50 size=30 name=Forumname></TD>');
document.write ('</TR>');

 

  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新评论及回复

最近发表

Powered By HZZHIT

Copyright 2008-2009 杭州兆合信息技术有限公司. All Rights Reserved.