1. 程式人生 > >如何讓網頁顯示友好的錯誤資訊頁面

如何讓網頁顯示友好的錯誤資訊頁面

大多數使用者看到”該頁無法顯示”,”伺服器內部錯誤”等預設錯誤提示資訊會立馬關閉瀏覽器視窗,我們為什麼不能自定義一下呢?讓使用者從錯誤資訊中得到真正的幫助?

錯誤資訊的頁面應該做到以下幾點:

  
  1.給普通訪客友好提示。告訴他們這是怎麼了,簡單,再簡單,不要出現技術專業詞彙,同時告訴他們一些建議如何避免和解決當前的錯誤。
  
  2.給網站管理員提示。比如如果程式的確執行錯誤後,我們需要得到詳細錯誤資訊,所以我們遮蔽錯誤資訊的頁面應該給予提示如何開啟詳細錯誤資訊,而且要操作簡單,容易,讓管理網站的人即使不懂 .net 也能修改配置開啟錯誤資訊顯示。
 
  3.遮蔽詳細的應用程式錯誤資訊。為了安全,我們一般隱藏應用程式的詳細錯誤資訊,因為錯誤資訊對於某些圖謀不軌的人來說是非常有利的。比如某些惡意使用者會嘗試 sql 注入,通過不同的引數傳遞,獲取不同的錯誤資訊來達到漏洞判斷的目的(雖然這個問題應該在程式設計中處理,但是錯誤資訊隱藏仍然對安全有一定的幫助,例如:500 error或者exception.printStackTrace()輸出的結果不可以顯示在頁面上,會被攻擊者利用)。
  
  4.不要讓搜尋引擎訪問自定義的錯誤資訊頁面。這很容易理解,因為這沒有必要讓搜尋引擎訪問,比如404錯誤自定義頁面,很多無效的url都會顯示跳轉到自定義頁面的。我們通過定義 robots.txt 檔案來實現,例如禁止收錄404.html 在robots.txt 檔案加入:Disallow: 404.html
 

完整錯誤頁面分析示例:

  微軟 asp.net 關閉錯誤資訊配置後,出錯後預設介面如下:

這裡寫圖片描述

一副很專業的介面,一般使用者看了會不知所錯,想顯示具體的錯誤資訊感覺操作很茫然的樣子,立即關閉瀏覽器。不懂不熟悉 .net 的管理員,也不知所措,其中描述操作複雜,茫然。。

  閃睿企業網站管理系統 是這麼做的:我們對普通使用者提供了建議,對網站管理員提供了建議,對技術人員提供了建議,操作都很簡單,符合”簡單,再簡單,別讓我思考”的原則

這裡寫圖片描述