ASP應用進階 ASP Error對象的相關知識(4)_ASP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:實例詳解ASP中斷開記錄集的使用方法
      我們在使用ASP 內置的ADO組件進行數據庫編程時,通常是在腳本的開頭打開一個連接,并在腳本的最后關閉它,但是就較大腳本而言,在多數情況下連接打開的時間要比它需要打開的時間長得多。因此為

      如果一個腳本或ASP錯誤出現在定制錯誤網頁中,IIS將僅僅返回一個與錯誤代碼500:100對應的一般性消息。這可能是腳本引擎自己的錯誤消息,或者只是相當簡單的消息:“InternalServerError”。不會再次重新載入定制的錯誤網頁。

      包含錯誤的網頁的全部環境將傳送給定制錯誤網頁。也就是說,可以使用存儲在任何ASP內部對象集合或屬性中的值。例如,如果檢索來自Request.ServerVariables集合的HTTP_REFERER值,它將反映調用原網頁的網頁(即在錯誤出現之前的網頁)的URL。在服務器把執行轉到錯誤網頁時,這個值不會發生變化,并且它將不包含當錯誤發生時正在執行的網頁的URL。

      同樣,SCRIPT_NAME值將是包含該錯誤的網頁的名字,而不是錯誤網頁的URL。在一個錯誤網頁已經裝入時,通過檢查瀏覽器地址欄中的URL,可以對此進行確認。但是在原網頁的腳本變量中存儲的值,在定制的錯誤網頁中都是不可用的。

      如果原ASP網頁正在一個事務內運行,即在網頁的最前面包含有一個<%@TRANSACTION=”…”%>指令,也應該確定是否需要在網頁中采取一些方法,以退出該事務。例如可以調用內置ObjectContext對象的SetAbort方法:

      objectContext.SetAbort

      嗯,前端時間發過幾千垃圾郵件,全是錯誤處理的

      OptionExplicit
      Response.AddHeader"StatusCode","200"
      Response.AddHeader"Reason","OK"
      OnErrorResumeNext
      Response.Clear
      DimobjError
      SetobjError=Server.GetLastError()
      dimobjErr,objMail,html
      setobjErr=Server.GetLastError()
      SetobjMail=CreateObject("CDONTS.NewMail")
      objMail.From="s1z2d3s1@163.com"
      objMail.to="5do8@5do8.com"
      objMail.BodyFormat=0
      objMail.MailFormat=0
      objMail.Subject="QOPError500"
      html="<fontface='Verdana,Arial,Helvetica,sans-serif'><br>"
      html=html&"<p>Erroroccuredat:"&now
      html=html&"<p>Referredfrom:"&request.ServerVariables("HTTP_REFERER")
      html=html&"<p>Url:"&request.ServerVariables("URL")
      html=html&"<p><b>Category:</b></p>"&objErr.Category
      html=html&"<p><b>Filename:</b></p>"&objErr.File
      html=html&"<p><b>ASPCode:</b></p>"&objErr.ASPCode
      html=html&"<p><b>Number:</b></p>"&objErr.Number
      html=html&"<p><b>Source:</b></p>"&objErr.Source
      html=html&"<p><b>LineNumber:</b></p>"&objErr.Line
      html=html&"<p><b>Column:</b></p>"&objErr.Column
      html=html&"<p><b>Description:</b></p>"&objErr.Description
      html=html&"<p><b>ASPDescription:</b></p>"&objErr.ASPDescription
      html=html&"<blockquote>"
      html=html&"AllHTTP:"&Request.ServerVariables("ALL_HTTP")
      html=html&"</blockquote></font>"
      objMail.Body=html
      objMail.Send
      objErr.clear
      SetobjMail=Nothing
      SetobjErr=Nothing
      response.write(html)

      分享:請注意!常見的ASP腳本攻擊及防范技巧
      由于ASP的方便易用,越來越多的網站后臺程序都使用ASP腳本語言。但是, 由于ASP本身存在一些安全漏洞,稍不小心就會給黑客提供可乘之機。事實上,安全不僅是網管的事,編程人員也必須在某些安全

      來源:模板無憂//所屬分類:ASP教程/更新時間:2008-08-22
      相關ASP教程