Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

BrunoHP

[Resolvido] Tratar mensagem de erro

Recommended Posts

Boa tarde Galera do F.I.

 

Alguém poderia me ajudar como tratar para não aparecer a mensagem de ERRO?

 

EX: Microsoft OLE DB Provider for ODBC Drivers erro '80040e10'

 

[MySQL][ODBC 5.1 Driver][mysqld-5.5.25-log]SQLBindParameter not used for all parameters

 

/lala.asp, line 18

 

Assim o mala já sabe que meu BD é MySQL gostaria que desse um response.redirect erro.asp.

 

Achei esse código está ajudando em algumas coisas:

 

<%

function sqlInjection()

'Palavras que serão barradas caso encontradas nos request

'palavrasDoMal = array("insert", "drop", " or ", "update", "cast", "'")
palavrasDoMal = array("'", "´", " or ", "select", "insert", "delete", "drop", "update", "cast", ";", "--", "xp_", "order", "desc", "asc", "where", ".", ",", " ", "%20", "%")

' Verificando o que é passado pelo request.queryString

for each item in request.QueryString

for j = lbound(palavrasDoMal) to ubound(palavrasDoMal)

if instr(lcase(Request.QueryString(item)), lcase(palavrasDoMal(j))) > 0 then

response.Redirect("erro.asp?d=injectionQueryString")

end if

next

next



'Verificando o que é enviado por request.form

for each item in request.form

for j = lbound(palavrasDoMal) to ubound(palavrasDoMal)

if instr(lcase(Request.form(item)), lcase(palavrasDoMal(j))) > 0 then

response.Redirect("erro.asp?d=injectionForm")

end if

next

next



' Verifica o que está sendo passado via cookies

for each item in request.Cookies

for j = lbound(palavrasDoMal) to ubound(palavrasDoMal)

if instr(lcase(Request.Cookies(item)), lcase(palavrasDoMal(j))) > 0 then

response.Redirect("erro.asp?d=injectionCookies")

end if

next

next

end function

'Aqui chamamos a função

sqlInjection()

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode usar o diretiva de On Error Resume Next.porém se for usado de forma errada ele torna-se péssimo.

 

Veja o exemplo abaixo do uso do On Error Resume Next:

 

'<%
'On Error Resume Next


'Call SuaFuncao()

'If Err.Number <> 0 Then

'Call LogarErros()
'End If


'On Error Goto 0


'Sub SuaFuncao()
...
'End Sub


'Sub LogarErro()
'Response.Write "Ocorreu um erro inesperado (" & Err.number & " - " & err.Description & ")"
'Response.End
''SEU CÓDIGO PARA LOGAR EM BANCO DE DADOS, EVENT VIEWER, EMAIL, ETC...
'End Sub
'%> 

 

É importante saber o que está acontecendo com o seu site no desenvolvimento e produção. Ao implementar o registro de erros adequado, você pode rapidamente rastrear erros, e fornecer aos membros da sua equipe com informações de erro maior. Com o novo objeto de erro ASP você pode criar um sistema de registro simples e eficaz.

 

O objeto Error ASP permite aos desenvolvedores controlar a execução da página. Este objeto é usado para recuperar os detalhes do último erro que ocorreu dentro de uma página ASP. Combine isso com a capacidade de criar páginas de erro personalizadas, e você tem uma ferramenta muito poderosa no desenvolvimento barraco.

 

O objeto de erro consiste em nove propriedades, no entanto, só vou mencionar as propriedades utilizadas no demo.

 

ASPDescription - retorna uma descrição para todos os erros não-ASP.

Category - o mal estar, objeto externo ou script que causou o erro.

Column - posição da coluna do personagem ladino.

Description - descrição do erro ASP.

File - o arquivo ASP que causou o erro.

Line - o número da linha do código mal.

Source - o código real do mal que causou o erro

 

Primeiro crie uma tabela,coloque o arquivo error.asp em seu servidor. Certifique-se de alterar as informações de seqüência de conexão,Botão direito do mouse sobre o diretório ou site e selecione a opção propriedades. Escolha a guia erros personalizados.Selecione o erro HTTP 500:100 e edite as propriedades

 

Alterar o tipo de mensagem a URL e aponte para error.asp.

 

 

<%@ Language=VBScript %>

<%Response.Buffer = True%>

<html>

<head><title>ASP 3.0 Error </title></head>

<% 'adovbs.inc %>

<!-- #include file = ./adovbs.inc -->

<body>

<%

On Error Resume Next



  set objError = Server.getLastError()

  strNumber = objError.AspCode

  strSource = objError.Category

  strPage = objError.File

  strDesc = objError.Description

  strCode = Server.HTMLEncode(objError.Source)

  If strCode = "" then strCode = "No code available"

  strLine = ObjError.Line

  strASPDesc = ObjError.ASPDescription


  strRemoteAddr = Request.ServerVariables("REMOTE_ADDR")

  strRemoteHost = Request.ServerVariables("REMOTE_HOST")

  strLocalAddr = Request.ServerVariables("LOCAL_ADDR")





  set rs = Server.CreateObject("ADODB.Recordset")

  set Conn = Server.CreateObject("ADODB.Connection")





  conn.ConnectionString = "Provider=SQLOLEDB.1;User id=;Password=;Initial Catalog=;Data Source=;"

  conn.open

  rs.Open "tblErrorDemo", conn, adOpenDynamic, adLockOptimistic, adCmdTable



  'Add Record

  rs.AddNew

   'The datetime is set on the backend as a default value.

   rs("er_number") = strNumber

   rs("er_source") = strSource

   rs("er_page") = strPage

   rs("er_desc") = strDesc + ". " + strASPDesc

   rs("er_code") = strCode

   rs("er_line") = strLine

   rs("er_remote_addr") = strRemoteAddr

   rs("er_remote_host") = strRemotehost

   rs("er_local_addr") = strLocalAddr

  rs.Update



  %>

  <table width="50%" align="center" cellspacing="0" cellpadding="0" border="1">

   <tr>

     <td width="200">Error Number:</td><td><%=strNumber%></td></tr>

   <tr>

     <td width="200">Source:</td><td><%=strSource%></td></tr>

   <tr>

     <td width="200">File:</td><td><%=strPage%></td></tr>

   <tr valign="top">

     <td width="200">Description:</td><td><%=strDesc + ". " + strASPDesc%></td></tr>

   <tr>

     <td width="200">Code:</td><td><%=strcode%></td></tr>

   <tr>

     <td width="200">Line:</td><td><%=strLine%></td></tr>

    <tr>

     <td width="200">Remote Address:</td><td><%=strRemoteAddr%></td></tr>

   <tr>

     <td width="200">Remote Host:</td><td><%=strRemoteHost%></td></tr>

   <tr>

     <td width="200">Local Address:</td><td><%=strLocalAddr%></td></tr>

  </table>

  <br>

  <b>Coloquei um link em cada código de erro que dá a equipe de desenvolvimento mais informações e instruções para cada tipo de erro.</b>

  <br>

  <br>

  <table width="100%" align="center" cellspacing="0" cellpadding="0" border="1">

   <tr bgcolor=#ffff00>

     <td align="center">Error Code</td><td align="center">Error Message</td><td align="center">Extended Information</td></tr>

   <tr>

     <td>ASP 0100</td><td>Out of memory</td><td>Unabled to allocate the required memory.</td></tr>

   <tr>

     <td>ASP 0101</td><td>Unexpected error</td><td>The function return exception_name.</td></tr>

   <tr>

     <td>ASP 0102</td><td>Expecting string input</td><td>None</td></tr>

   <tr>

     <td>ASP 0103</td><td>Expecting numeric input</td><td>None</td></tr>

   <tr>

     <td>ASP 0104</td><td>Operation not allowed</td><td>None</td></tr>

   <tr>

     <td>ASP 0105</td><td>Index out of range</td><td>An array index is out of range.</td></tr>

   <tr>

     <td>ASP 0106</td><td>Type Mismatch</td><td>A data type was encountered that cannot be handled.</td></tr>

   <tr>

     <td>ASP 0107</td><td>Stack Overflow</td><td>The quantity of data being processed is above the permitted limit.</td></tr>

   <tr>

     <td>ASP 0115</td><td>Unexpected Error</td><td>A trapple error occured in an external object.  The script cannot continue running.</td></tr>

   <tr>

     <td>ASP 0177</td><td>Server.CreateObject Failed</td><td>Invalid ProgId</td></tr>

  <tr>

     <td>ASP 0190</td><td>Unexpected error</td><td>A trapple error occurred while releasing an external object.</td></tr>

   <tr>

     <td>ASP 0191</td><td>Unexpected error</td><td>A trapple error occurred in the OnStartPage method of an external object.</td></tr>

   <tr>

     <td>ASP 0192</td><td>Unexpected error</td><td>A trapple error occurred in the OnEndPage method of an external object.</td></tr>

   <tr>

     <td>ASP 0193</td><td>OnStartPage Failed</td><td>An error occurred in the OnStartPage method of an external object.</td></tr>

   <tr>

     <td>ASP 0194</td><td>OnEndPage</td><td>An error occurred in the OnEndPage method of an external object.</td></tr>

   <tr>

     <td>ASP 0240</td><td>Script Engine Exception</td><td>A script engine threw exception.</td></tr>

   <tr>

     <td>ASP 0241</td><td>CreateObject Exception</td><td>The CreateObject caused an exception.</td></tr>

   <tr>

     <td>ASP 0242</td><td>Query OnStartPage Interface Exception</td><td>The querying object OnStartPage caused an exception.</td></tr>

  </table>   

</body>

</html>

<%    set rs = nothing

  set conn = nothing

  set objError = nothing

  Response.Write Err.description

  Response.End

%>

 

Agora vamos causar alguns erros. Carregue o arquivo error_demo.asp, ele deve causar um erro em um flash! Você vai então receber uma tela de erro bem formatado e muito detalhado.

 

<%@ Language=VBScript %>
<HTML>
<HEAD>
</HEAD>
<BODY>
<%
bDebug = False
strProgrammer = "X@nBuRzUm"
set obj = Server.CreateObject("teste") %>
</BODY>
</HTML>

 

 

no ASP.Net você pode usar o AsyncPostBackError

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.