载入数据...  
载入数据...
时 间 记 忆
载入数据...
最 新 评 论
载入数据...
专 题 分 类
载入数据...
最 新 日 志
载入数据...
最 新 留 言
载入数据...
搜 索
用 户 登 录
友 情 连 接
博 客 信 息
载入数据...


 
网站防止机器人注册、留言
[ 2007-10-12 10:39:00 | By: flyzx ]
 
blog
oblog商业版本到期后,不再提供升级等服务,但针对oblog的一些恶意注册却层出不穷,blog验证码防止效果并不好,在采取人工审核一段时间后也不理想,后对blog验证码进行参数修改后,现运行正常,基本都是手工注册。

bbs近几日又有垃圾群发的迹象,对注册文件进行了更改,增加了问题验证
一、修改reg.asp

1、找到如下的内容
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、找到
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>

风讯网站留言评论,也有垃圾留言不断在发,网上寻了寻,加了个浏览器验证
在conn.asp的最上面加上:
Dim UserAgent
UserAgent = Trim(Lcase(Request.Servervariables("HTTP_USER_AGENT")))
If InStr(UserAgent,"teleport") > 0 or InStr(UserAgent,"webzip") > 0 or InStr(UserAgent,"flashget")>0 or InStr(UserAgent,"offline")>0 or Instr(UserAgent,"java") Then
        Response.Write "请不要采用teleport/Webzip/Flashget/Offline等工具来浏览网站!"
        Response.End
End If

发现上面不能根除,给NewsReview.asp文件加上垃圾词过滤
  if Instr(request.Form("RevContent"),"月赚")>"0" then
   Response.Write("<script>alert(""错误:\n不要乱发垃圾广告!"");</script>")
   Response.End
  end if
  if Instr(request.Form("RevContent"),"免费大礼")>0 then
   Response.Write("<script>alert(""错误:\n不要乱发垃圾广告!"");</script>")
   Response.End
  end if

如果这几个全结合起来进行防止机器人,估计效果会更好。
 

发表评论:

    大名:
    密码:
    主页:
    标题:
    载入数据...
Powered by Oblog.