Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

IIS 7 驗證碼不顯示?啟用「父路徑」一招解決

編輯:Windows XP 系統介紹

在 Windows Server 2008 安裝 IIS 7 後,ASP 網站運行正常,但驗證碼(CAPTCHA)卻怎麼都顯示不出來?這是典型的「啟用父路徑」未開啟導致。

問題根因

IIS 6/7 預設關閉父路徑(Enable Parent Paths = False)。許多舊版 ASP 程式使用 ../ 相對路徑引用驗證碼產生元件(如 Server.CreateObject("Persits.Jpeg") 或自訂 Include 檔),父路徑關閉會導致元件載入失敗,驗證碼圖片無法產生。

解決步驟(圖文並茂)

  1. 開啟 IIS 管理員(開始 → 系統管理工具 → Internet Information Services (IIS) 管理員)。
  2. 左側連線面板展開伺服器名稱 → 網站 → 選取目標站點(如 Default Web Site)。
  3. 中間功能視圖雙擊 ASP 圖示。
  4. 在「行為」區段找到 啟用父路徑,將 False 改為 True。
  5. 右側動作欄點擊 套用,完成。

驗證與補充

  • 重新整理登入頁,驗證碼應立即正常顯示。
  • 同理,若網站其他相對路徑引用(圖片、CSS、Include 檔)失效,亦可嘗試此設定。
  • 安全性提醒:開啟父路徑可能允許腳本存取上層目錄,生產環境建議改用絕對路徑或虛擬目錄替代,或針對特定應用程式集區單獨開啟。

IIS 7 學習心得

IIS 7 採用模組化架構、整合式管線,設定邏輯與 IIS 6 大異。善用「功能委派」與「設定編輯器」能更精細控管權限。新版 Windows Server(2016/2019/2022)同理,核心設定位置未變。

Copyright © Windows教程網 All Rights Reserved