成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Asp.netweb.configcustomErrors的解決方法-創(chuàng)新互聯(lián)

小編給大家分享一下Asp.net web.config customErrors的解決方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)公司是一家專業(yè)提供漢源企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、H5頁面制作、小程序制作等業(yè)務(wù)。10年已為漢源眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。

摘要

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

customErrors

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

  1. On:服務(wù)器開發(fā)的最安全選項(xiàng),因?yàn)樗偸请[藏錯(cuò)誤提示信息。

  2. RemoteOnly:向大多數(shù)用戶展示一般的錯(cuò)誤信息,但向擁有服務(wù)器訪問權(quán)限的用戶展示完整的錯(cuò)誤提示信息。換句話說,僅向遠(yuǎn)程客戶端端顯示自定義錯(cuò)誤,并向本地主機(jī)顯示 ASP.NET 錯(cuò)誤。默認(rèn)值。

  3. Off:最容易受到攻擊的選項(xiàng),它向訪問網(wǎng)站的每個(gè)用戶展示詳細(xì)的錯(cuò)誤提示消息。

詳細(xì)的錯(cuò)誤信息可能會(huì)暴露應(yīng)用程序的內(nèi)部結(jié)構(gòu),比如如果寫的sql語句中報(bào)錯(cuò),可能會(huì)暴露數(shù)據(jù)表,以及sql語句,這是非常不安全的。在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è)異常,那么我們可以看到與下面類似的黃頁

Asp.net web.config customErrors的解決方法

在黃頁上面可以看到,頁面對(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。如果沒有指定 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)頁。以波形符 (~) 開頭的 URL(如 ~/ErrorPage.htm)表示所指定的 URL 是相對(duì)于應(yīng)用程序根路徑而言的。

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

Asp.net web.config customErrors的解決方法

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

mode=On

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

Asp.net web.config customErrors的解決方法

mode=RemoteOnly

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

Asp.net web.config customErrors的解決方法

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

Asp.net web.config customErrors的解決方法

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

Asp.net web.config customErrors的解決方法

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

以上是“Asp.net web.config customErrors的解決方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

本文名稱:Asp.netweb.configcustomErrors的解決方法-創(chuàng)新互聯(lián)
本文路徑:http://jinyejixie.com/article20/ccepjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、ChatGPT、軟件開發(fā)、品牌網(wǎng)站制作、網(wǎng)站營銷、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管
井研县| 昭平县| 娄烦县| 江阴市| 嘉义县| 宣城市| 苏州市| 天镇县| 吉林省| 乌拉特中旗| 江北区| 宁海县| 天镇县| 保山市| 五河县| 林口县| 正宁县| 肇庆市| 内丘县| 湟源县| 土默特右旗| 吉林市| 上林县| 涞源县| 南陵县| 徐闻县| 雅江县| 太保市| 介休市| 阿鲁科尔沁旗| 文水县| 焦作市| 县级市| 海盐县| 怀化市| 芦山县| 桑植县| 柘荣县| 驻马店市| 武隆县| 安徽省|