如何透過 IIS 的 URL Rewrite 功能限制存取特定檔案或附檔名

之前文章 如何透過 IIS 的 Request Filtering 功能限制存取特定檔案或附檔名 介紹到如何使用 IIS Request Filter Module 來避免特定檔案在網站上裸奔,而同事則是用了 URL Rewrite 一樣達成了目的,順便紀錄一下作法

安裝 URL Rewrite

與 Request Filtering 直接使用 Windows 新增移除的安裝方式不同,URL Rewrite 需要另外下載安裝,可以至 URL Rewrite 下載 URL 安裝檔

目前版本(URL Rewrite Module 2.0)可以支援:IIS 7, IIS 7.5, IIS 8, IIS 8.5, IIS 10

安裝方式:

  1. 透過 WebPI

    1webpi

    2webpi2

    3webpi3

    4webpi4

  2. 使用 .msi 檔

    5msi1

    6msi2

如何設定 URL Rewrite

  1. 針對目標站台 –> URL Rewrite

    7urlrewrite

  2. Add Rule(s)… –> Request Blocking

    8addrule

  3. Block access based on:

    • URL Path (使用 url 來封鎖)

      9urlpath

  4. Block request that:

    • Matches the Pattern (與 pattern 相符時封鎖)

      10blockrequest

  5. Pattern(URL Path):

    11urlpattern

  6. Using

    • Wildcards (使用字元比對)

      12using

  7. How to Block:

    • Send an HTTP 403 (Forbidden) Response (回傳 403)

      13resoinse

設定完成結果

  • 這是依前面設定的內容來呈現的

    14result

心得

URL Rewrite 感覺使用上也滿方便的,但缺點是需要額外下載安裝,這在某些環境是比較不方便的,當然 URL Rewrite 還有其他功能,其他功能可以參考 URL Rewrite: 產生具親和力的網址

參考資訊

  1. URL Rewrite
  2. URL Rewrite: 產生具親和力的網址
  3. 如何透過 IIS 的 Request Filtering 功能限制存取特定檔案或附檔名