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

解決 Windows Server 2008 IIS 7.0 ASP 驗證碼 (CAPTCHA) 無法顯示:啟用父路徑即可修復

編輯:Windows 2003 常見問題解答

Windows Server 2008 安裝 IIS 7.0 後,傳統 ASP 網站運行正常,但驗證碼圖片 (CAPTCHA) 始終顯示紅叉或空白。排查發現 IIS 7.0 預設關閉「啟用父路徑」,導致驗證碼生成元件無法透過相對路徑引用共用函式庫。本文記錄從角色安裝到啟用父路徑的完整修復過程。

IIS 7.0 安裝要點回顧

  1. 伺服器管理員 → 角色 → 新增角色 → 勾選 Web 伺服器 (IIS)。
  2. 角色服務頁面:務必展開「應用程式開發」勾選 ASP、ASP.NET、ISAPI 延伸/篩選器、CGI 等(預設未勾選 ASP)。
  3. 完成安裝,管理工具開啟「Internet Information Services (IIS) 管理員」。

故障現象與定位

  • ASP 頁面正常渲染,無 500 錯誤。
  • 驗證碼 <img src="verify.asp"> 顯示破圖。
  • 瀏覽器開發者工具 Network 面板:verify.asp 回傳 404 Not Found 或 500 Internal Server Error。
  • 搜尋關鍵字「IIS7 驗證碼 無法顯示」無果,靈感來自「父路徑未啟用導致 Include 檔案找不到」。

修復步驟:啟用父路徑

  1. IIS 管理員 → 左側連線樹選中伺服器節點或目標網站。
  2. 中間功能視圖雙擊 ASP 圖示。
  3. 屬性清單找到 啟用父路徑 (Enable Parent Paths),預設 False。
  4. 雙擊改為 True,右側動作欄點擊 套用。

驗證結果

重新整理登入頁,驗證碼圖片即時正常顯示。問題徹底解決。

補充說明

  • IIS 6.0 預設亦關閉父路徑,遷移舊 ASP 應用至 IIS 7/7.5/8/8.5/10 皆需同步開啟。
  • 若網站目錄權限不足,同步檢查 IUSR、IIS_IUSRS 對實體路徑的「讀取/執行」權限。
  • 生產環境建議:啟用父路徑後,配合 web.config 限制 <asp scriptErrorSentToBrowser="false"> 避免錯誤資訊洩露。
Copyright © Windows教程網 All Rights Reserved