找回密码
 立即注册

QQ登录

只需一步,快速开始

教程经验总索引TVMW5/小日本5 索引【视频转换】小日本4/TE4XP 索引【视频转换】TAW4 / TDA3 索引【DVD打包软件】
Nero 索引DVD-Lab 索引【DVD打包软件】编解码器 索引 【必读】固顶帖011号
查看: 4961|回复: 0

[动网论坛] 防止注册机的方法 修改简单 不改模版 不增加回答问题

[复制链接]

9328

威望

305

金钱

1万

贡献

管理员

自由的灵魂

积分
99881
主题
5265
回帖
26223
注册时间
2003-4-10
最后登录
2024-4-29
发表于 2006-9-3 08:14:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
by: zhangjint5(动网论坛)
刚刚没事一直盯着IIS日志,突然想到一个防止注册机的办法,拿出来与大家共享。如果有人已经发过类似思路的方法纯属巧合。


正常用户注册的时候通常会有浏览论坛,浏览帖子等操作。而注册机注册的时候直接从 Dv_GetCode.asp 取得验证码,从 reg.asp 取得注册表单之类的,在向 reg.asp 发送数据进行注册。也就是说注册机注册的时候仅访问过少量几个文件。根据这个特征,可以做如下修改:
dispbbs.asp 的第一个 <% 下面加入代码:
  1. Session("AllowReg") = 1
复制代码

reg.asp 的第一个 <% 下面加入代码:
  1. If Session("AllowReg") <> 1 Then
  2. Response.Write ("注册前请先浏览论坛任意一个帖子")  '(你也可以改成跳转到某个帖子)
  3. Response.End
  4. End if
复制代码

(修改完之后别忘了在 管理-->用户注册管理-->修改注册设置 里提交一下再退出,否则会一直提示“注册前请先浏览论坛任意一个帖子”)
这样,注册机直接访问 reg.asp 文件,由于没有访问过帖子(即dispbbs.asp) 所以 Session("AllowReg") 不等于 1reg.asp 就会输出 Response 的内容并中断运行。


大家还可以稍微变通一下,比如:
announcements.asp 的第一个 <% 下面加入代码:
  1. Session("AllowReg") = 1
复制代码

reg.asp 的第一个 <% 下面加入代码:
  1. If Session("AllowReg") <> 1 Then
  2. Response.Write ("注册前请先浏览论坛公告")
  3. Response.End
  4. End iF
复制代码



问:“注册前请先浏览论坛任意一个帖子”这句话怎么才可以使用弹出对话框进行显示?
答:Response.Write 那句替换成
  1. Response.Write("<script language=""javascript"">" & VbCrLf)
  2. Response.Write("<!--" & VbCrLf)
  3. Response.Write("alert (""注册前请先浏览论坛任意一个帖子"");" & VbCrLf)
  4. Response.Write("window.location.href = ""http://bbs.dianbo.org/"";" & VbCrLf)
  5. Response.Write("// ->" & VbCrLf)
  6. Response.Write("</script>" & VbCrLf)
复制代码

(注意原来下面有个 Response.End 别漏掉了)
这样就可以出现对话框,随后跳转到 http://bbs.dianbo.org/。你可以替换成其它地址!


问:怎样改成跳转到专用贴?(例如:它必须访问某一个固定的贴子)
答:如果必须浏览指定帖子,修改 dispbbs.asp 的时候把 Session("AllowReg") = 1 改成以下内容直接跳转到某个帖子:
  1. '(以 boardID 为2,ID 为 18 的帖子为例子。你可以可从浏览器地址栏看你要的帖子的 boardID 和 ID)
  2. If Request.QueryString.Item("boardID") = 2 And Request.QueryString.Item("ID") = 18 Then
  3. Session("AllowReg") = 1
  4. End If
复制代码

response那几行作相应变动。 (之后别忘了在管理-->用户注册管理-->修改注册设置里提交一下再退出.)
IsaacZ的发言中如果提到任何字母缩写或专有名词,在本论坛中一般都能搜索到。点此立即搜索点拨论坛。如有搜索不到的,请尝试搜索百度百科,或者跟帖提问。
发帖前请注意看置顶帖。如果你发现自己的问题没有得到回答,说明你的问题提错了地方或者提问前未先阅读本版规则固顶帖011号
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|点拨论坛

GMT+8, 2024-4-29 13:12 , Processed in 0.233315 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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