ASP.NET錯誤頁

來源:互聯網
上載者:User

標籤:

當頁面發生錯誤的時候,ASP.Net會將錯誤資訊展示出來,這樣一來不好看,二來會泄露網站的內部
實現資訊,給網站帶來安全隱患,因此需要定製錯誤頁,發生錯誤時顯示開發人員定製的頁面
404頁面放點廣告也是好的嘛
配置web.config,配置customErrors地區:

<customErrors mode="On" defaultRedirect="MyErrorPage.aspx">    <error statusCode="403" redirect="NoAccess.htm" />    <error statusCode="404" redirect="FileNotFound.htm" />  </customErrors> 

mode三個可選值:

On:總是顯示定製錯誤頁面;

Off:不顯示定製錯誤介面,直接顯示呼叫堆疊等異常資訊;
Remoteonly:對於原生訪問顯示呼叫堆疊等異常資訊,對於外部使用者的顯示定製錯誤頁面

一般設定為RemoteOnly,這樣發生錯誤的話,管理員可以在伺服器的瀏覽器中看詳細錯誤資訊,
普通使用者看不到.學習示範的時候mode設定為On,否則看不到定製頁。可以在定義錯誤頁中判斷
Request.UserHostAddress來設定某些ip看到異常資訊,可以讀取Session如果是管理員則可以看異常資訊

error子項目設定對於不同的狀態代碼使用不同的錯誤頁,很多網站都把404做一個特殊的錯誤頁
沒有單獨設定的狀態代碼錯誤則顯示defaultRedirect中指定的頁面
錯誤頁即可以使用htm頁面,也可以使用aspx頁面
在aspx頁面中可以用HttpContext.Current.Server.GetLastError()拿到異常對象。
一般不要把異常資訊顯示給使用者,而是使用後面講的Log4Net等將異常記錄到系統日誌。
如果要在錯誤頁面中拿到異常對象,必須在customErrors中設定redirectMode="ResponseRewrite",
因為預設是用戶端重新導向,在錯誤頁面中就拿不到異常對象了

ASP.NET錯誤頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.