ndfweb.cn

asp利用404实现.html虚拟静态页面和图片防盗链技术


2010-06-05 00:20:10 (6057)


将一下代码保存为"404.asp“

<%
Response.expires = 0
Response.expiresabsolute = Now() - 1
Response.addHeader "pragma", "no-cache"
Response.addHeader "cache-control", "private"
Response.CacheControl = "no-cache"

CurrDomain=Request.ServerVariables("HTTP_HOST") '当前访问域名
CurrURL=Replace(Request.ServerVariables("QUERY_STRING"),"404;http://"&CurrDomain&":80/","")
Ourl=CurrURL
'Ourl="Names---Goods_List__ID-20_Sort-100.htm"
if instr(ourl,".jpg") then
if instr(Request.ServerVariables("HTTP_REFERER"),"127.0.0.1")>0 then
response.Redirect("http://"&CurrDomain&"/"&replace(ourl,"-ndfpic-",""))
else

end if
response.End()
end if

if instr(ourl,"---") then
ourl=replace(ourl,left(ourl,instr(ourl,"---")+2),"")
end if

if instr(ourl,".html") then
  if instr(ourl,"__")>0 then Fname=left(ourl,instr(ourl,"__")-1)

    if Fname="" then '如果只有.html直接转向
     'response.Redirect(replace(ourl,".html",".asp"))
  'response.Write(replace(ourl,".html",".asp"))
     reu replace(ourl,".html",".asp")
     response.End()
     'Fname=left(ourl,instr(ourl,".")-1)
    end if

url1=replace(ourl,left(ourl,instr(ourl,"__")+1),"")
url1=replace(url1,".html","")
Str=split(url1,"_")
for N=0 to UBound(Str)
   if N=0 then
   Values=replace(Str(N),"-","=")
   else
   Values=Values&"&"&replace(Str(N),"-","=")
   end if
next
URL=Fname&".asp?"&Values
ReU URL
response.End()
else
response.Write("The file does not exist!"&"<br>"&Ourl)
end if

Function ReU(Str)
response.Write(GetU("http://"&CurrDomain&"/"&Str))
'response.Write("http://"&CurrDomain&"/"&Str)
end function

Function GetU(url) 
 'On Error Resume Next
 dim http
 set http=Server.createobject("Microsoft.XMLHTTP") 
 Http.open "GET",url,false
 Http.setRequestHeader "Referer:http://","Host:60.60.60.60"
 Http.send() 
 if Http.readystate<>4 then
  exit function 
 end if

 GetU=bytesTobSTR(Http.responseBody,"gb2312")
 set http=nothing
 If Err.number<>0 then 
  GetU="Error"
  Err.Clear
  exit function 
 End If  
End function

Function BytesToBstr(body,Cset)
 dim objstream
 set objstream = Server.CreateObject("adodb.stream")
 objstream.Type = 1
 objstream.Mode =3
 objstream.Open
 objstream.Write body
 objstream.Position = 0
 objstream.Type = 2
 objstream.Charset = Cset
 BytesToBstr = objstream.ReadText 
 objstream.Close
 set objstream = nothing
End Function
%>

了解更多请访问:http://www.ndfweb.cn/news-527.html
  NDF俱乐部
  国际域名注册
  建站咨询
合作伙伴:万网 | 新网 | 新网互联 NDF网站建设淘宝店 | 实用工具 | 外貿網站建設 | 联系我们
鲁公网安备 37110202000336号 鲁ICP备2021027697号-1 Sitemap - RSSRSS订阅