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

Windows Server 2008 IIS 7 驗證碼無法顯示?啟用 ASP「啟用父路徑」即可解決

編輯:關於 Windows

Windows Server 2008 安裝 IIS 7 後,經典 ASP 網站驗證碼 (CAPTCHA) 無法顯示,主因 IIS 7 預設關閉「啟用父路徑」,導致伺服端包含檔案路徑解析失敗(如 <!--#include file="../inc/captcha.asp"-->)。啟用該選項即可恢復正常。

問題現象

  • ASP 頁面正常開啟,但驗證碼圖片位置顯示紅叉/空白。
  • 錯誤日誌:Active Server Pages error 'ASP 0131' Disallowed Parent Path。

解決步驟

  1. 開啟「Internet Information Services (IIS) 管理員」。
  2. 左側連線樹狀結構展開至網站層級(或「預設網站」)。
  3. 中間功能區雙擊 「ASP」 圖示。
  4. 展開「行為」→ 將 「啟用父路徑」 由 False 改為 True。
  5. 右側「動作」窗格按 「套用」 生效。

IIS 7 安裝關鍵回顧

  • 「伺服器管理員」→「角色」→「新增角色」→「Web 伺服器 (IIS)」。
  • 角色服務務必勾選:「ASP.NET」、「ASP」、「ISAPI 延伸模組」、「ISAPI 篩選器」、「CGI」、「伺服器端包含 (SSI)」。
  • 安裝完成後,「管理工具」→「IIS 管理員」可見。

安全性補充

  • 啟用父路徑允許 ../ 相對路徑包含,若應用程式未妥善驗證輸入,可能導致目錄遍歷漏洞。
  • 建議:程式碼改用虛擬路徑 <!--#include virtual="/inc/captcha.asp"-->,並保持「啟用父路徑」= False,根治相對路徑依賴。
  • 若必須啟用,請搭配「要求驗證」與「URL 授權規則」限制存取範圍。

其他常見 ASP 設定

  • 「偵錯屬性」→「用戶端偵錯」/「伺服器端偵錯」:開發環境開啟,生產環境關閉。
  • 「限制屬性」→「指令碼逾時」、「要求佇列上限」:依流量調整。
  • 「快取屬性」→「快取 ASP 應用程式」:生產環境啟用提升效能。
Copyright © Windows教程網 All Rights Reserved