Asp.net

不能使用前導 ../ 退出頂級目錄

  • February 14, 2010

我有一個 asp.net 網站,我們有管理區域,登錄頁面僅供管理員使用,所有站點都允許使用 - 我需要詢問如何為它定義正確的安全配置,因為我收到此錯誤

不能使用前導 .. 退出頂級目錄。
說明:執行目前 Web 請求期間發生未處理的異常。請查看堆棧跟踪以獲取有關錯誤及其源自程式碼的位置的更多資訊。

異常詳細資訊:System.Web.HttpException:無法使用前導 .. 退出頂級目錄。

源錯誤:

在執行目前 Web 請求期間生成了未處理的異常。可以使用下面的異常堆棧跟踪來辨識有關異常起源和位置的資訊。 

堆棧跟踪:


[HttpException (0x80004005): 不能使用前導 .. 退出頂級目錄。]
System.Web.Util.UrlPath.ReduceVirtualPath(字元串路徑) +8862087
System.Web.Util.UrlPath.Reduce(字元串路徑)+52
System.Web.Util.UrlPath.Combine(String appPath, String basepath, String relative) +214
System.Web.UI.Control.ResolveClientUrl(字元串 relativeUrl)+180
System.Web.UI.WebControls.Image.AddAttributesToRender(HtmlTextWriter 編寫器)+68
System.Web.UI.WebControls.WebControl.RenderBeginTag(HtmlTextWriter writer) +20
System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer) +20
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter 編寫器,ControlAdapter 適配器)+27
System.Web.UI.Control.RenderControl(HtmlTextWriter 編寫器,ControlAdapter 適配器)+99
System.Web.UI.Control.RenderControl(HtmlTextWriter writer)+25
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter 作家,ICollection 孩子)+134
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)+19
System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter 作家)+163
System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer)+32
System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter 輸出)+51
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter 編寫器,ControlAdapter 適配器)+27
System.Web.UI.Control.RenderControl(HtmlTextWriter 編寫器,ControlAdapter 適配器)+99
System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer) +40
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter 作家,ICollection 孩子)+134
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)+19
System.Web.UI.Control.Render(HtmlTextWriter writer) +10
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter 編寫器,ControlAdapter 適配器)+27
System.Web.UI.Control.RenderControl(HtmlTextWriter 編寫器,ControlAdapter 適配器)+99
System.Web.UI.Control.RenderControl(HtmlTextWriter writer)+25
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter 作家,ICollection 孩子)+134
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)+19
System.Web.UI.Page.Render(HtmlTextWriter 作家)+29
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter 編寫器,ControlAdapter 適配器)+27
System.Web.UI.Control.RenderControl(HtmlTextWriter 編寫器,ControlAdapter 適配器)+99
System.Web.UI.Control.RenderControl(HtmlTextWriter writer)+25
System.Web.UI.Page.ProcessRequestMain(布爾 includeStagesBeforeAsyncPoint,布爾 includeStagesAfterAsyncPoint)+1266

我的配置文件:

<authentication mode="Forms">
 <forms name=".ASPXFORMSAUTH" protection="All" loginUrl="Admin/LoginPage.aspx" path="/" enableCrossAppRedirects="true">
 </forms>
</authentication>
<authorization>
 <deny users="*" />
</authorization>

這意味著您的網頁所引用的內容位於頁面上一級文件夾中,但您的頁面已經在網站的根文件夾中,因此相對路徑無效。從您的異常消息來看,似乎是圖像控制項導致了問題。

你必須有類似的東西:

<asp:Image ImageUrl="..\foo.jpg" />

但是由於頁面本身在網站的根文件夾中,它不能引用上一級的內容,這就是領導..\正在做的事情。

引用自:https://stackoverflow.com/questions/2262271