首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

ASP.NET Server.Execute 路徑限制:父路徑設置

     編輯:程式設計綜合問答

現象

Server.Execute("..\OtherPage.aspx") 報錯,只能同目錄。

原因

IIS 默認**禁止父路徑 (Parent Paths)** 以防止目錄遍歷攻擊。

解決:IIS 管理器啟用父路徑

  1. 打開 IIS 管理器 (inetmgr)。
  2. 選中網站/應用程序 → 雙擊 **ASP** 圖標。
  3. 展開 **Limits Properties (限制屬性)** → 將 **Enable Parent Paths (啟用父路徑)** 設置為 **True**。
  4. 或在 web.config:

  
    
  

安全提示

  • 啟用後,代碼可使用 ../ 訪問上級目錄,**務必驗證用戶輸入**,防止路徑遍歷漏洞。
  • 推薦使用虛擬目錄/應用程序映射,避免相對路徑依賴。

替代方案

  • Server.Transfer("~/OtherDir/Page.aspx"):使用應用程序根路徑 ~,不依賴父路徑設置。
  • Response.Redirect:客戶端跳轉,無服務端路徑限制。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved