![]() |
||||||||
|
|
||||||||


| com exemplos em VB |
| Componente para deixar forms em Vb semelhantes às telas do winnamp |
| Componente para colocar sua aplicação VB no Systray |
| Componente para transformar sua aplicação VB em serviço |
| Ferramentas úteis para quem usa Olap Server |
| |

|
||||||||||||||||||||||||||||||||||||
Pesquisa personalizada
Quer
saber mais?
Não deixe escapar essa oportunidade! Faça um treinamento para Webdeveloper na Búfalo Informática Controlando ocorrência de erros em ASP
Uma das grandes brechas de segurança na internet é quando se exibe para o usuário final mensagens de erro do sistema. Mesmo que se faça um bom tratamento de erro, é muito difícil prever todos os erros possíveis e eventualmente as mensagens de erro aparecem. Hackers utilizam tais mensagens para realizar a invasão do sistema. As mensagens de erro fornecem as informações técnicas que os hackers necessitam para entrar no sistema. Primeiramente é necessário entender a sequencia de tratamento de erros que ocorre no Windows 2000. O erro pode ter sido tratado pelo código. Neste caso o resultado será o que o programador desejar. Caso o erro não tenha sido tratado o IIS trata diferentemente caso já tenha ocorrido alguma transmissão para o client e caso não tenha. Dai que o tratamento de erro pode mudar radicalmente se o buffer estiver ligado (o que é o default para o IIS 5.0, a partir do windows 2000) ou não. A diferença é que, se já houver ocorrido alguma transmissão para o client o IIS obedece a regra indicada na aba app Debuging (depuração do aplicativo), que pode ser encontrada ao se clicar no botão configurations na aba home directory das propriedades de um site.
Segundo a especificação em app debugging, determina-se se a mensagem detalhada de erro do ASP deve ser exibida ao usuário ou se mostra-se uma mensagem padrão. Desta forma em desenvolvimento esta configuração deve estar definida para exibir a mensagem de erro detalhada, mas em produção deve exibir uma mensagem padrão, tipo "Volte mais tarde". Mas, como citei, a configuração do app debuging só é seguida quando já houve transmissão para o client. Quando um erro ocorre em um momento em que ainda não ocorreu nenhuma transmissão para o client então o IIS gera o erro 500.100. Gerando o erro 500.100 o IIS passa a obedecer as regras configuradas na aba custom errors das propriedades do site. Então aqui o resultado pode variar.
Se o site é o site default do IIS, ele está já configurado com o custom error apontando para um arquivo 500-100.asp contido fisicamente em \winnt\help\iishelp\common.
O Site default do IIS tem um diretório virtual chamado iisHelp que aponta para este caminho. Se o site em questão não for o default, a dica em http://www.bufaloinfo.com.br/dicas.asp?cod=237 explica como configurar o site para que as mensagens de erro sejam exibidas em ambiente de desenvolvimento. Ok. Exibir as mensagens de erro é fácil. Mas e para o ambiente de produção ? Essa é a grande questão : No ambiente de produção as mensagens de erro não podem ser exibidas, mas devem ser logadas para consulta posterior. Como resolver este problema ? A questão está justamente na personalização da página 500-100.asp e no fato de que esta página nos mostra um truque novo no ASP 3.0 : Server.GetLastError. Essa instrução nos devolve um objeto ASPError que fornece informações muito mais detalhadas sobre o erro do ASP do que o simples objeto ERR do VBScript. É baseado neste objeto que as páginas padrões de exibição de erro foram programadas e teremos que utiliza-lo também para gerar um log do erro ocorrido. Ao programarmos a página 500-100.asp devemos lembrar que não sabemos que erro ocorreu, portanto não podemos abusar do uso de recursos do sistema. Por exemplo, se o banco caiu, não podemos gravar o log dentro do banco. Por isso devemos gravar o log de forma mais simples possível, em um arquivo TXT, por exemplo. Desta forma precisaremos fazer uso do filesystemobject para realizar a gravação do log. Veja então um exemplo simples de uma personalização da página 500-100.asp :
Precisamos apenas substituir a página 500-100.asp padrão por este nosso novo código, ou ainda apenas reconfigurar o Custom Errors do IIS para este nosso novo código, desta forma garantimos que o usuário final não verá as mensagens de erro do nosso site. Assim como personalizamos o código de erro 500-100 podemos personalizar diversos outros, tal como o 404 (página não encontrada) e outros mais. Dennes
Torres
|
||||||||||||||||||||||||||||||||||||
|
Veja abaixo os comentários já enviados :
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Quer
saber mais?
Faça um curso na Búfalo Informática, Treinamento e Consultoria e Prepare-se para o Mercado! Veja o que a Búfalo tem para você. |
||||||||||||||||||||||||||||||||||||
© Búfalo Informática,
Treinamento e Consultoria -
Rua Álvaro Alvim, 37 Sala 920 - Cinelândia - Rio de Janeiro / RJ
Tel.: (21)2262-1368 (11) 3170-3056 e-Mail: contato@bufaloinfo.com.br