亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解Asp.net web.config customErrors 如何設(shè)置

 更新時(shí)間:2018年02月13日 11:03:30   作者:wolfy  
這篇文章主要介紹了詳解Asp.net web.config customErrors 如何設(shè)置,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

摘要

customErrors也經(jīng)常在開(kāi)發(fā)部署中看到<customErrors mode="Off" />,設(shè)置這樣可以在頁(yè)面上看到詳細(xì)的錯(cuò)誤信息。但也為黑客提供了攻擊的線索。

customErrors

該節(jié)點(diǎn)有三種可選的設(shè)置項(xiàng)

  1. On:服務(wù)器開(kāi)發(fā)的最安全選項(xiàng),因?yàn)樗偸请[藏錯(cuò)誤提示信息。
  2. RemoteOnly:向大多數(shù)用戶展示一般的錯(cuò)誤信息,但向擁有服務(wù)器訪問(wèn)權(quán)限的用戶展示完整的錯(cuò)誤提示信息。換句話說(shuō),僅向遠(yuǎn)程客戶端端顯示自定義錯(cuò)誤,并向本地主機(jī)顯示 ASP.NET 錯(cuò)誤。默認(rèn)值。
  3. Off:最容易受到攻擊的選項(xiàng),它向訪問(wèn)網(wǎng)站的每個(gè)用戶展示詳細(xì)的錯(cuò)誤提示消息。

詳細(xì)的錯(cuò)誤信息可能會(huì)暴露應(yīng)用程序的內(nèi)部結(jié)構(gòu),比如如果寫的sql語(yǔ)句中報(bào)錯(cuò),可能會(huì)暴露數(shù)據(jù)表,以及sql語(yǔ)句,這是非常不安全的。在Off設(shè)置下的網(wǎng)站,黑客會(huì)不斷的嘗試,傳遞不同的參數(shù),使你的網(wǎng)站出錯(cuò),然后暴露你的應(yīng)用程序的內(nèi)部結(jié)構(gòu)。

mode=Off

比如:

<system.web>
  <authentication mode="None" />
  <compilation debug="true" targetFramework="4.5" />
  <httpRuntime targetFramework="4.5" />
  <customErrors mode="Off" defaultRedirect="error">
  </customErrors>
 </system.web>

在TestAction中直接拋出一個(gè)異常,那么我們可以看到與下面類似的黃頁(yè)

在黃頁(yè)上面可以看到,頁(yè)面對(duì)應(yīng)邏輯的堆棧信息,進(jìn)而暴露項(xiàng)目結(jié)構(gòu)信息。非常的不安全。

那么如果是mode=Off,并且在事件Application_Error中記錄并清除錯(cuò)誤,會(huì)看到什么結(jié)果?

 protected void Application_Error(object sender, EventArgs e)
    {
      var context = HttpContext.Current;
      if (context != null)
      {

        Exception objErr = context.Server.GetLastError();
        if (objErr != null)
        {
          string err = "Error Caught in Application_Error event/n" + "Error in:" 
+ Request.Url.ToString() + "/nError Message:" + objErr.Message.ToString() +
       "/nStack Trace:" + objErr.StackTrace.ToString();
        、、、、、日志邏輯
          Server.ClearError(); 
        }
      }
    }
 <customErrors mode="Off" defaultRedirect="Error">   
 </customErrors>

defaultRedirect 指定發(fā)生錯(cuò)誤時(shí)瀏覽器指向的默認(rèn) URL。如果沒(méi)有指定 defaultRedirect,則會(huì)顯示一般性錯(cuò)誤。URL 既可以是絕對(duì)的(例如 http://www.***.com/ErrorPage.htm),也可以是相對(duì)的。相對(duì) URL(如 /ErrorPage.htm)是相對(duì)于指定 defaultRedirect 的 Web.config 文件而言的,而不是針對(duì)產(chǎn)生錯(cuò)誤的網(wǎng)頁(yè)。以波形符 (~) 開(kāi)頭的 URL(如 ~/ErrorPage.htm)表示所指定的 URL 是相對(duì)于應(yīng)用程序根路徑而言的。

通過(guò)上面的操作,如果設(shè)置Off,并且在Application_Error事件中捕獲異常,并 Server.ClearError(),那么如果報(bào)錯(cuò),在前端頁(yè)面就會(huì)看到空白的頁(yè)面。

通過(guò)這個(gè)也可以說(shuō)明,如果應(yīng)用程序出錯(cuò),先觸發(fā)的Application_Error事件,ClearError之后,那么在頁(yè)面上就看不到結(jié)果了。

mode=On

在設(shè)置On模式情況下,如果應(yīng)用程序發(fā)生錯(cuò)誤,會(huì)跳轉(zhuǎn)到自定義的錯(cuò)誤頁(yè),這里使用了defaultRedirect屬性,并沒(méi)有配置 <error statusCode="500" redirect="error"/>

mode=RemoteOnly

通過(guò)字面意思,僅僅遠(yuǎn)程,僅僅遠(yuǎn)程什么呢?可以看下例子。目前所在編碼環(huán)境,通過(guò)vs調(diào)試狀態(tài),相對(duì)遠(yuǎn)程要訪問(wèn)的用戶,可以將本機(jī)當(dāng)做服務(wù)器。那么這就是本地,遠(yuǎn)程訪問(wèn)的瀏覽器就是Remote。

可以看到,在服務(wù)器端,訪問(wèn)仍然能看到黃頁(yè),也就是上面所說(shuō)的ASP.NET錯(cuò)誤。那么我們將站點(diǎn)部署在服務(wù)器,然后在本地訪問(wèn)會(huì)出現(xiàn)什么情況呢?

通過(guò)客戶端訪問(wèn)服務(wù)器的url,則會(huì)跳轉(zhuǎn)到默認(rèn)的自定義錯(cuò)誤頁(yè)面。那么在服務(wù)器端又是什么情況呢?

說(shuō)明: 僅向遠(yuǎn)程客戶端端顯示自定義錯(cuò)誤,并向本地主機(jī)顯示 ASP.NET 錯(cuò)誤

 總結(jié)

所以,不要在生產(chǎn)環(huán)境中將customErrors關(guān)閉。 推薦開(kāi)啟RemoteOnly或者On并定義自定義的錯(cuò)誤頁(yè)面。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • ASP.NET?Core使用AutoMapper組件

    ASP.NET?Core使用AutoMapper組件

    這篇文章介紹了ASP.NET?Core使用AutoMapper組件的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • ASP.NET MVC Admin主頁(yè)快速構(gòu)建

    ASP.NET MVC Admin主頁(yè)快速構(gòu)建

    這篇文章主要為大家詳細(xì)介紹了ASP.NET MVC Admin主頁(yè)快速構(gòu)建的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • asp.net Repeater 自增

    asp.net Repeater 自增

    asp.net Repeater 自增加實(shí)現(xiàn)代碼。
    2009-06-06
  • .NET關(guān)于API 句柄泄漏分析

    .NET關(guān)于API 句柄泄漏分析

    本文主要介紹了.NET關(guān)于API 句柄泄漏分析,文中結(jié)合代碼與圖片講解的非常詳細(xì),感興趣的小伙伴可以自行參考一下
    2021-08-08
  • ASP.NET使用xslt將xml轉(zhuǎn)換成Excel

    ASP.NET使用xslt將xml轉(zhuǎn)換成Excel

    本文介紹利用Excel軟件生成格式,提取和精簡(jiǎn)之后制作成xslt文件,將xml導(dǎo)入,以xslt為模板,生成新的Excel文件的過(guò)程。
    2016-05-05
  • Aspx/Asp.net 防注入程序 V1.0

    Aspx/Asp.net 防注入程序 V1.0

    asp下有人寫了防注入的程序,這次看到了一個(gè)asp.net的特提供給大家參考。
    2009-10-10
  • Asp.net回調(diào)技術(shù)Callback學(xué)習(xí)筆記

    Asp.net回調(diào)技術(shù)Callback學(xué)習(xí)筆記

    這篇文章主要記錄了Asp.net回調(diào)技術(shù)Callback的一些知識(shí),感興趣的朋友可以參考下
    2014-08-08
  • 超好用輕量級(jí)MVC分頁(yè)控件JPager.Net

    超好用輕量級(jí)MVC分頁(yè)控件JPager.Net

    本文給大家分享的是一款超好用輕量級(jí)MVC分頁(yè)控件--JPager.Net,小編自己也在使用,非常的不錯(cuò),推薦給大家。
    2016-06-06
  • .NET邏輯分層架構(gòu)總結(jié)

    .NET邏輯分層架構(gòu)總結(jié)

    本人將從另一個(gè)角度來(lái)解析.NET分層架構(gòu)的真正奧秘。分層,一些技術(shù)功底比較薄弱的程序員聽(tīng)到分層就會(huì)聯(lián)想到三層架構(gòu)(BLL,DAL之類的),其實(shí)不是,分層是一個(gè)很大的技術(shù)框架思想,三層架構(gòu)只不過(guò)是對(duì)普通的信息系統(tǒng)來(lái)說(shuō),將信息的流轉(zhuǎn)通過(guò)三層來(lái)分解,
    2015-06-06
  • IIS中ASP.NET連接SQL Server出錯(cuò)的解決方法

    IIS中ASP.NET連接SQL Server出錯(cuò)的解決方法

    在IIS中運(yùn)行的ASP.NET應(yīng)用程序其所屬用戶名為ASPNET的特定用戶,其默認(rèn)權(quán)限是無(wú)法訪問(wèn)SQL Server的,更不可能訪問(wèn)ASP.NET應(yīng)用程序的數(shù)據(jù)庫(kù)了,因此要在IIS中訪問(wèn)SQL Server就需要給ASPNET帳戶賦予相應(yīng)的權(quán)限.
    2010-03-03

最新評(píng)論