asp防恶意注册及灌水
之前写过一个不用验证码的防注册机方法,使用了将近2年后,彻底失效。
今天偶然撞见一个防止恶意注册的方法,正在思考ing。先把方法列下:
获取客户端提交的信息;
将信息存入 Session;
生成一个随机数(称为 ticket);
将随机数也存入 Session;
用 JavaScript 的形式将随机数以链接的形式输出,并提示客户点击上一步生成的链接;
document.write("<a
href="process.asp?ticket=<%=ticket%>">点击确认添加</a>");
客户点击链接,随机数又被发送回服务器端;
服务器端验证发送回来的随机数与 Session 中的随机数是否相同;
若相同,将信息从 Session 中取出来存入数据库,完成。
正如那位leen网友所说,这是一个长期而艰巨的任务。所谓道高一尺,魔高一丈。灌水机,注册机之类的东东也在不停的完善。今天你胜,明天我赢。防范措施也需要不停的改进。先去研究一下原理。
相关文档:
7. 返回多个记录集的存储过程
本文最先介绍的是返回记录集的存储过程。有时候,需要一个存储过程返回多个记录集,在ASP中,如何同时取得这些记录集呢?为了说明这一问题,在userinfo表中增加两个字段:usertel及usermail,并设定只有登录用户可以查看这两项内容。
/*SP7*/
CREATE PROCEDURE dbo.getUserInfo
......
一:
<FORM name=RedForm action=# >
<INPUT name=textfield2>
<INPUT type=image height=19 width=53 src="xxx.gif" align=absMiddle border=0 name=RedImg onclick="this.form.submit()">
<INPUT type=image height=19 width=53 src="xxx.gif" align=absMiddle border=0 name=RedImg3 onclick= ......
在 计算机管理->InterNet信息服务 -> 默认网站 -> 右键 -> 新建 -> 虚拟目录 (别名:相当于文件夹)-> 选择源文件的路径,新建完成
右键点击刚刚新建的虚拟目录:
虚拟目录:勾选 读取。执行权限:纯脚本。后来又遇到了这样的错误: 在
应用程序级别之外使用注册为 allowDefinition='MachineToAppl ......
<%
set conn= server.createobject("ADODB.connection")
conn.open "driver={sybase driver 10};"
"srvr=SYBASE;"
"UID=sa;"
"pwd=sybase;"
sql="select no from tab_st ......
<script language="JavaScript">
function CheckAll(form) {
var x=form.elements;
for (var i=0;i<x.length;i++)
{
var e = x[i];
if (e.name != 'chkall')
e.checked = form.chkall.checked;
}
}
</script>
--页面checkbox内部
<input type='checkbox' value='"&rs("ID")&"' name ......