asp防恶意注册及灌水
之前写过一个不用验证码的防注册机方法,使用了将近2年后,彻底失效。
今天偶然撞见一个防止恶意注册的方法,正在思考ing。先把方法列下:
获取客户端提交的信息;
将信息存入 Session;
生成一个随机数(称为 ticket);
将随机数也存入 Session;
用 JavaScript 的形式将随机数以链接的形式输出,并提示客户点击上一步生成的链接;
document.write("<a
href="process.asp?ticket=<%=ticket%>">点击确认添加</a>");
客户点击链接,随机数又被发送回服务器端;
服务器端验证发送回来的随机数与 Session 中的随机数是否相同;
若相同,将信息从 Session 中取出来存入数据库,完成。
正如那位leen网友所说,这是一个长期而艰巨的任务。所谓道高一尺,魔高一丈。灌水机,注册机之类的东东也在不停的完善。今天你胜,明天我赢。防范措施也需要不停的改进。先去研究一下原理。
相关文档:
第一种:
'使用数据库连接对象查询数据集对象,用 set变量接收。
set rset1 = conn.execute("select * from productType where id="&request("id"))
'表示只能取出结果集里面的值,但是不能取到总的条数之类的。。。
set rset2 = conn.execute("select top 8 * from productType ......
如果在一个网站的页面中想调用其他网站页面内容,直接用一下代码就ok,http://www.wanyusoft.com/index.asp 这个路径就是所要调用的页面路径。
<%
response.write(getHTTPPage("http://www.wanyusoft.com/index.asp"))
function getHTTPPage(url)
dim http
set http=createobject("MSXML2.XMLHTTP")
Http.o ......
常用的重定向方式有: 301 redirect, 302 redirect 与 meta fresh:
ASP 中,我们习惯使用 Response.Redirdect 来实现页面的跳转,但是这种跳转方式的状态是 302 的,属于临时跳转,对于搜索引擎来说,是一种不友好的重定向方式。
ASP 3.0 中,有了另一种方式,即 Response.Transfer 。关于这个,可以查询相关的信息。
......