Request.ServerVariables(”HTTP_REFERER”)防止下载盗链

Request.ServerVariables(”HTTP_REFERER”)的工作方式

下列情况是从浏览器的地址栏正常取得Request.ServerVariables(”HTTP_REFERER”)的:
1.直接用<a href>
2.用Submit或<input type=image>提交的表单(POST or GET)
3.使用Jscript提交的表单(POST or GET)

Request.ServerVariables(”HTTP_REFERER”)不能正常取值的情况:
1.从收藏夹链接
2.单击”主页”或者自定义的地址
3.利用Jscript的location.href or location.replace()
4.在浏览器直接输入地址
5.<%Response.Redirect%>
6.<%Response.AddHeader%>或<meta http-equiv=refresh>转向
7.用XML加载地址

显然,Request.ServerVariables(”HTTP_REFERER”)在多数情况下是不能正常工作的,正因为这个原因,在防止下载盗链时我们才能使Request.ServerVariables(”HTTP_REFERER”)。

如一例:

以下是代码片段:
‘下载系统网址列表,不要带上http://
   domain=”2ky.cn,61.156.14.223″
   splDomain=split(domain,”,”)
     strReferer=Request.ServerVariables(”HTTP_REFERER”)
     for iii = 0 to ubound(splDomain)
     if instr(strReferer,trim(splDomain(iii)))>0 then isHttp=True
     next
     if isnull(strReferer) or isHttp=false then
     Response.Write “下载链接来自非法盗链,<a href=”http://www.2ky.cn/“>请进入共享世纪页面后再进行下载。</a>”
     CloseDatabase
     response.end
     end if
下载系统网址列表,就是访问你下载页面的域名或IP,比如你的下载页可以用多个网址来访问,可用逗号隔开。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值