在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呢? 展开
怎么样可以防止别人在本地机上自建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呢? 展开
4个回答
展开全部
为什么是8:
Request.ServerVariables("HTTP_REFERER")返回的地址中包括[http://]的开头,
而Request.ServerVariables("SERVER_NAME")只是返回服务器名称,不包括[http://],后面也没有文件的路径+文件名。
[http://]就正好7个字符了。所以从第8个字符开始,读取Request.ServerVariables("SERVER_NAME")那么长的字符来比较。
Request.ServerVariables("HTTP_REFERER")返回的地址中包括[http://]的开头,
而Request.ServerVariables("SERVER_NAME")只是返回服务器名称,不包括[http://],后面也没有文件的路径+文件名。
[http://]就正好7个字符了。所以从第8个字符开始,读取Request.ServerVariables("SERVER_NAME")那么长的字符来比较。
展开全部
if instr(Request.ServerVariables("HTTP_REFERER"),Request.ServerVariables("SERVER_NAME")) >0 then
response.write("是站内的")
else
response.write("是站外的")
end if
response.write("是站内的")
else
response.write("是站外的")
end if
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
检测 HTTP_REFERER ...
如果是不允许的入口就报错 ...
如果是不允许的入口就报错 ...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询