注册 登录
编程论坛 ASP技术论坛

如何判断表单是不是从本站提交的

笨笨林 发布于 2007-11-25 12:35, 1105 次点击
做了一个表单处理数据,因为处理的数据要较高的安全性,所以想检查表单是从本站提交的还是外部提交的,请问如何实现?
3 回复
#2
madpbpl2007-11-25 12:51
<%
Function isSelfRefer()
Dim sHttp_Referer, sServer_Name
sHttp_Referer = CStr(Request.ServerVariables("HTTP_REFERER"))
sServer_Name = CStr(Request.ServerVariables("SERVER_NAME"))
If Mid(sHttp_Referer, 8, Len(sServer_Name)) = sServer_Name Then
IsSelfRefer = True
Else
IsSelfRefer = False
End If
End Function

if isSelfRefer() then
response.write "ok"
else
response.write "no"
end if
%>

把以上代码放到aa.asp,如果是直接输入网址或者是从外部网部链接到本站,http://doamain/aa.asp 就会显示NO,
如果系从本站链接到aa.asp,或通过表单提交到aa.asp,将会显示ok
可以防止一些伪造表单向站内提交数据
#3
笨笨林2007-11-25 13:24
谢谢!
#4
multiple19022007-11-25 13:32
当然了,也是可以伪造的。
1