在asp程序提交表单中如何防止别人从站外提交数据

比如一个留言本,addxinxi.htm为提交页面,addxinxichk.asp为检测数据并保存数据到数据库的处理页。怎么样可以防止别人在本地机上自建addxinxi.... 比如一个留言本,addxinxi.htm 为提交页面,addxinxichk.asp为检测数据并保存数据到数据库的处理页。
怎么样可以防止别人在本地机上自建addxinxi.htm 同样表单提交数据,而不是从网站的页面提交,因为站内需提交数据的地方很多,不可能用一个一个检测的方法,我的想法是有没有什么函数判断来源地址是不是本站,比如从xxx.com来的数据才可以正常访问类似addxinxichk.asp的数据处理页。
function localsubmit()
server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(server_v1,8,len(server_v2))<>server_v2 Then
response.redirect("server_v1")
response.end
end if
end Function
====================================================
mid(server_v1,8,len(server_v2))<>server_v2
这个中的数字8是什么意思,为什么是8呢?
展开
 我来答
hutaoooooo
2006-10-25 · TA获得超过441个赞
知道小有建树答主
回答量:747
采纳率:0%
帮助的人:367万
展开全部
为什么是8:
Request.ServerVariables("HTTP_REFERER")返回的地址中包括[http://]的开头,
而Request.ServerVariables("SERVER_NAME")只是返回服务器名称,不包括[http://],后面也没有文件的路径+文件名。
[http://]就正好7个字符了。所以从第8个字符开始,读取Request.ServerVariables("SERVER_NAME")那么长的字符来比较。
mineboy
2006-10-16 · 超过104用户采纳过TA的回答
知道答主
回答量:310
采纳率:0%
帮助的人:0
展开全部
if instr(Request.ServerVariables("HTTP_REFERER"),Request.ServerVariables("SERVER_NAME")) >0 then
response.write("是站内的")
else
response.write("是站外的")
end if
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9dd5ebf66d5
2006-10-10 · TA获得超过4654个赞
知道大有可为答主
回答量:3723
采纳率:0%
帮助的人:0
展开全部
检测 HTTP_REFERER ...

如果是不允许的入口就报错 ...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
赛龙龙洞洞天5425
2006-10-10
知道答主
回答量:77
采纳率:0%
帮助的人:34.5万
展开全部
function localsubmit()
server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(server_v1,8,len(server_v2))<>server_v2 Then
response.redirect("server_v1")
response.end
end if
end Function
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式