如何使用ASP隐藏图片的地址和判断是否盗链

第一种方法 使用response.Redirect :

<% 
  Dim filename 
  filename=request("file") 
  response.Redirect "/images/" & filename & ".jpg" 
%> 

 

第二种方法 使用server.createObject("ADODB.Stream"): 

<%Function DisplayPR(ImgPath)
        Response.ContentType = "image/jpeg"
  Dim Objstream
        Set objStream = server.createObject("ADODB.Stream")
        objStream.Type = 1
        objStream.Open     
        objStream.LoadFromFile ImgPath
        Response.BinaryWrite objStream.Read
  Response.Flush
        objStream.Close 
        Set objStream = Nothing 
        Response.Flush 
        Response.End
End Function

Dim filename 
img_url=request("file")
img_url=server.mappath("/piclinks/"&img_url&".jpg") 
DisplayPR(img_url)
%>

 

调用显示的方式 将图片的显示代码改为如下:

<img src=http://网站地址/showimg.asp?file=logo />

 

那么如何判断是站内的还是站外调用图片呢?(判断是否服务器端直接调用)

     其实很简单,只需要在显示图片的代码之前加入下面的代码即可【如果是站外调用图片则判断为盗链,并显示被盗链后显示的指定图片】:

 

From_url = Cstr(Request.Servervariables("Http_referer"))
Serv_url = Cstr(Request.Servervariables("Server_name"))
if mid(From_url,8,len(Serv_url)) <> Serv_url then
response.Redirect "http://deerol.com/images/daolian.gif"
response.end
end If

 

隐藏图片实际地址,并判断是否盗链 转向指定图片的完整代码:

<%
From_url = Cstr(Request.Servervariables("Http_referer"))
Serv_url = Cstr(Request.Servervariables("Server_name"))
if mid(From_url,8,len(Serv_url)) <> Serv_url then
response.Redirect "http://deerol.com/images/daolian.gif"
response.end
end If
  
Dim filename  
filename=request("file")  
response.Redirect "/images/" & filename & ".jpg" 
%>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝图

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值