Request.ServerVariables(”HTTP_REFERER”)防止下載盜鏈

來源:互聯網
上載者:User
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,比如你的下載頁可以用多個網址來訪問,可用逗號隔開。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.