Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

IIS 防盜鏈完整解決方案:部署 ISAPI_Rewrite 實現 Referer 過濾

編輯:關於伺服器

什麼是盜鏈?

盜鏈指內容不在自身伺服器,卻透過技術手段繞過來源站廣告/利益頁面,直接在自身頁面提供資源(圖片、軟體下載連結等),盜用他人頻寬與儲存空間,損害原站利益並加重伺服器負載。

盜鏈產生機制

瀏覽器渲染頁面時,HTML 文字先行傳回,解析發現圖片等資源再發送額外 HTTP 請求。若頁面引用的資源 URL 指向第三方網站,瀏覽器會直接向第三方請求資源,形成盜鏈。

IIS 原生不支援 URL Rewrite

Apache 可用 mod_rewrite 檢查 Referer 標頭防盜鏈。IIS 需安裝第三方 ISAPI 擴充套件:ISAPI_Rewrite(官網:helicontech.com)。

  • Lite 版免費,功能支援基本 Rewrite,不支援虛擬站點配置、元資料監控、自動快取清理。
  • 安裝後無需重啟 IIS,修改安裝目錄 httpd.ini 即時生效。

Rewrite 規則撰寫與防盜鏈實戰

ISAPI_Rewrite 採正則表示式。範例:將 /test-12314.html 重寫為 /test.asp?id=12314:

# 匹配規則
/test-([0-9]*).html
# 格式化目標
/test.asp?id=$1

可用內建測試工具調試正則。針對盜鏈,筆者在 httpd.ini 加入:

RewriteCond Host: (.+)
RewriteCond Referer: (?!https://\1. *).*
RewriteRule .*\.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O]

重啟 IIS 後生效:非本站 Referer 請求圖片/下載檔會被導向 /block.gif(可自訂提示圖片),徹底杜絕盜鏈。

Copyright © Windows教程網 All Rights Reserved