主题:  请教asp:如何防止本地提交表单

死不了

职务:普通成员
等级:1
金币:0.0
发贴:89
#12005/7/8 15:36:05
我想了两个方法,不知道可行不:

1、在表单处理页面判断Session值

2、判断来源页面
------------------------------------------------------------------------

对于第一种方法,我考虑会不会存在这样的情况:用户先正常获得Session值,然后本地提交表单。如果这样的话,哪这种方法这能算是掩耳盗铃

第二种方法,我找了一段防盗链的代码:
<% dim From_url,Serv_url
From_url = Cstr(Request.ServerVariables("HTTP_REFERER"
Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"
if mid(From_url,8,len(Serv_url)) <> Serv_url then
response.write ("<script language='javascript'>alert('请先登录!');window.location.href='login.asp';</script>"
response.end
end if%>

或者干脆
<%if Cstr(Request.ServerVariables("SERVER_NAME"<>我的域名 then
response.write ("<script language='javascript'>alert('请先登录!');window.location.href='login.asp';</script>"
response.end
end if%>

------------------------------------------------------------------------
师傅们指点一下,那种最合适,还需要什么改进。谢谢

www.yyrm.com

www.yyrm.com

编辑历史:[此帖最近一次被 51net 编辑过(编辑时间:2005-12-12 17:01:49)]


浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
#22005/7/10 11:39:35
不明白,什么叫本地提交?



{ 在指尖上绽放的花朵 }

职务:普通成员
等级:5
金币:14.0
发贴:3209
#32005/7/10 21:35:42
就是将表单下载下来修改之后从本地提交咯。。。

SERVER_NAME 不应该这么用的。。。

HTTP_REFERER 虽然不可靠。。。但应该是唯一的办法了。。。。



DavidPP

职务:普通成员
等级:1
金币:0.0
发贴:5
#42005/7/11 21:54:58
只有这个办法...还是弄好表单数据验证那关吧



vampirex

职务:普通成员
等级:1
金币:0.0
发贴:26
#52005/10/3 10:10:13


用HTTP_REFERER验证来源