(求助)ASP怎么实现防止别人调用你的接口数据,但又能指定某2个域名可以调取(解决问题有赏)
(求助)ASP怎么实现防止别人调用你的接口数据,但又能指定某几个域名可以调取,帮忙下.
(帮忙解决此问题的送备案查询功能接口10000次数据调取,什么语言的都有)
------解决方案--------------------用Request.ServerVariables判断即可
http://www.cnblogs.com/starcrm/archive/2009/04/07/1430824.html
------解决方案--------------------
<%
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() = False then
response.redirect ("/index.asp")
response.end
end if
%>
CStr(Request.ServerVariables("HTTP_REFERER")) 是获得来源页面的URL。如果是直从地址栏直接打开,则为空。CStr(Request.ServerVariables("SERVER_NAME"))是目前所在的服务器域名。不包含“HTTP://”。Mid(sHttp_Referer, 8, Len(sServer_Name))将来源页面的第八个字符开始,也就是去掉前面的“http://”,取与服务器域名相同长度的字符串。然后进行对比,如果相同,那就是内容来源。否则就是外部来源。