Un sistema di tracing degli errori con Classic ASP: l'errore 404

di Daniele Bochicchio, in Classic ASP, Database, Coding,

Abbiamo già visto in passato come personalizzare le pagine di gestione degli errori.
In questo e nei prossimi numeri vedremo come creare un sistema completo di tracing degli errori della nostra applicazione.

Per cominciare è necessario creare una tabella di nome LogsErrori che contenga i seguenti campi all'interno:
- tipo: varchar(3)
- pagina: nvarchar(500)
- referer: nvarchar(500)
- IP: varchar(15)
- extra: nvarchar(2000)
- data: datetime con valore di default sulla data attuale

Ci basterà poi impostare questo script come pagina di errore 404 per salvare l'errore nel database.

<%

Function FixQuotes(stringa)
  FixQuotes = Replace(stringa, "'", "''")
End Function

' funzione per loggare su db
Sub Salva(tipo, pagina, referer)

  extra = "Form: " & Request.Form & VbCrLf
  extra = extra & "Querystring: " & Request.Querystring & VbCrLf

  ' query di inserimento nel database
  strSQL = "INSERT INTO LogsErrori (tipo, pagina, referer, IP, extra) "
  strSQL = strSQL & "VALUES ('" & tipo & "', '" & FixQuotes(pagina) & "', '" & FixQuotes(referer) & "', "
  strSQL = strSQL & "'" & FixQuotes(Request.ServerVariables("REMOTE_ADDR")) & "', "
  strSQL = strSQL & "'" & FixQuotes(extra) & "') "

  ' apertura db
  Set conn = Server.CreateObject("ADODB.Connection")
  conn.Open "stringadiconn"

  ' esecuzione query
  conn.Execute(strSQL)

  ' chiusura connessione
  conn.Close
  set conn = Nothing
end Sub

' raccolta informazioni
pagina = Mid(Request.QueryString, 5)
strRef = Request.ServerVariables("HTTP_REFERER")

' logga su db
call Salva("404", pagina, strRef)

' messaggio personalizzato di errore
Response.Write("La pagina non risulta trovata. Abbiamo registrato l'errore.")
%>

In realtà è più sensato salvare questo script (chiamata alla sub salva esclusa) all'interno di un include, in modo da poter sfruttare le stessa routine per l'errore 500-100, che vedremo nel prossimo numero dedicato a Classic ASP.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi