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

解決 IIS HTTP 403.1「執行存取被拒」:虛擬目錄執行權限正確設定指南

編輯:關於伺服器

錯誤現象

瀏覽網站目錄或執行 ASP/PHP/CGI 程式時,瀏覽器顯示:

HTTP 錯誤 403.1 - 禁止存取:執行存取被拒絕。
您嘗試從目錄中執行 CGI、ISAPI 或其他可執行程式,但該目錄不允許執行程式。

根本原因

IIS 虛擬目錄/網站「主目錄」→「執行權限」設為 「無」 或 「僅指令碼」 但實際需要 「指令碼與執行檔」,導致 ISAPI/CGI/ASP.NET 處理器無法啟動。

圖解修正步驟 (IIS 6.0 / 7.0 通用)

  1. 開啟 IIS 管理員 (inetmgr / IIS 6.0 管理員)。
  2. 右鍵目標網站或虛擬目錄 → 「屬性」 (IIS 6) / 「基本設定」→「編輯」 (IIS 7+)。
  3. 切換到 「主目錄」 標籤 (IIS 6) / 確認 「執行權限」 下拉選單 (IIS 7+)。
  4. 將「執行權限」設為 「指令碼與執行檔」 (Scripts and Executables)。
  5. 點擊「確定」/「套用」,重新整理瀏覽器驗證。
IIS 虛擬目錄屬性:執行權限設為指令碼與執行檔

IIS 6.0 虛擬目錄屬性 → 主目錄 → 執行權限 = 「指令碼與執行檔」

權限層級說明與選擇建議

執行權限值允許執行內容適用場景安全性
無僅靜態檔案 (HTML/圖片/CSS/JS)純靜態網站、下載目錄最高
僅指令碼ASP、ASP.NET、PHP (ISAPI/FastCGI)、SSI大多數動態網站 (預設推薦)高
指令碼與執行檔包含「僅指令碼」+ CGI EXE、ISAPI DLL、批次檔、任意可執行檔舊版 CGI 應用、需呼叫外部程式較低 (慎用)

補充檢查項目 (若仍報 403.1)

  • 處理常式對應: IIS 7+ 需確認「處理常式對應」中 *.asp、*.php、*.aspx 對應的處理常式已啟用且「要求存取」為「指令碼」。
  • ISAPI/CGI 限制: IIS 管理員根節點 →「ISAPI 和 CGI 限制」→ 確認 asp.dll、php-cgi.exe、aspnet_isapi.dll 狀態為「允許」。
  • 應用程式集區身分識別: 確認集區身分識別 (ApplicationPoolIdentity/NetworkService/自訂帳號) 對網站實體目錄擁有「讀取與執行」NTFS 權限。
  • 父路徑啟用: 部分舊版 ASP 應用需啟用「啟用父路徑」 (IIS 6: 主目錄→配置→選項;IIS 7+: 應用程式集區→進階設定→啟用載入使用者設定檔/或 web.config 設定)。

安全性提醒

僅在確實需要執行 CGI/可執行檔的目錄設為「指令碼與執行檔」,其他目錄保持「僅指令碼」或「無」,遵循最小權限原則,減少攻擊面。

Copyright © Windows教程網 All Rights Reserved