找回密码
 注册
查看: 3014|回复: 0
收起左侧

防止群发软件恶意注册的方法集共四种

[复制链接]

5340

主题

8360

帖子

1万

积分

管理员

出售国内外虚拟空间

Rank: 10Rank: 10Rank: 10

积分
14731
帖子
8360
精华
67
体力
14731 点
蓝豆
2391 点
注册时间
2007-6-8

终身成就奖LY官方团队会员身份ID卡

发表于 2007-6-13 13:44:00 | 显示全部楼层 |阅读模式


后面添加:








红色的代码为注册增加QQ项如果不需要可以取消,只加蓝色的代码。

方法二:使用增强的验证码

这是一个比较正式使用比较广泛的做法。将你联想到手机强大的手写识别功能后,你就会对这种方法的可*性提出怀疑。但是如何更好地增大软件的识别难度,仍是大家努力的方向。

方法三:让注册者回答固定问题

软件能识别验证码,但是绝对不会识别诸如以下文字:“请回答三加二等于几,用英文表示”。人工智能还达不到这种水平。基于这种思路,我们就可以让注册者回答问题。但这个问题绝对不要写成:“请回答本论坛的名字”,“今天是星期几”,“请复制以下文字”之类的易破解问题。你可以考虑让用户回答与论坛有关的话题。假设你的论坛是讨论金庸的。你可以这样说:“为证明你是一个金庸迷,请回答以下问题:《射雕英雄传》的东邪西毒南帝北丐中,西毒是谁”。

我这里只给出了思路,由于时间关系,还没有写相应的实现代码。如果大家支持本帖,我会在下次补上。当然也希望热心人把修改方法提供给大家。

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

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

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

1.
进入后台,风格界面模板总管理,page_login,template.html(13)



在此两句上面添加如下代码





2. 打开reg.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+\"

  • \"+\"请填写防恶意注册问题!\"
    End If

    If Not CheckEvil(Request.Form(\"EvilAnswer\")) Then
    ErrCodes=ErrCodes+\"
  • \"+ \"防恶意注册问题回答错误,请返回重试。\"
    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)=\"武则天\"

    %>

    我论坛用的是第四种方法。

  • 方法一:

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

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

    \'ssa加入防止恶意注册必填项
    If Request.form(\"Forumname\")=\"\" Then
    Response.redirect \"showerr.asp?ErrCodes=

  • 您没有回答“防恶意注册问题答案”!&action=OtherErr\"
    Else
    If Request.form(\"Forumname\")<>Dvbbs.Forum_Info(0) Then
    Response.redirect \"showerr.asp?ErrCodes=
  • 请回答正确的“防恶意注册问题答案”!&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)中找到

  • 问题答案
    忘记密码的提示问题答案,用于取回论坛密码


    本论坛的中文名字是什么?
    此条为防止恶意注册必填项!

    答案:

    OICQ号码
    强烈推荐填写,方便在论坛上互动联系(4--13位)
    请填写真实的QQ号,方便浩天与您联系
    *假的就别填写啦!
    密码问题
    忘记密码的提示问题

    反论坛群发必填项:

    为了防止群发软件的恶意注册,

    请回答以下问题

    {$EvilQuesion}

    出售国内或美国高性能虚拟空间,高速VPS以及服务器! 同时承接各种类型的网站制作,网站维护,支付宝交易安全放心!    联系QQ:6102031
    懒得打字嘛,点击右侧快捷回复
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    网站公告上一条 /2 下一条

    GMT+8, 2025-2-5 18:43 , Processed in 0.103228 second(s), 23 queries , Gzip On.

    © 2006-2022 Powered by Discuz! X3.4

    快速回复 返回顶部 返回列表