Introdução
Os erros 404 (Página não encontrada) e 500 (Erro interno do servidor) são comuns em aplicações web. No entanto, se mal configurados, podem expor detalhes da aplicação e abrir brechas de segurança. A configuração correta desses erros protege informações sensíveis e melhora a experiência do usuário.
1. Configurando uma página personalizada para erro 404
Quando um usuário tenta acessar uma página inexistente, é importante retornar uma resposta amigável e evitar exposição de diretórios internos.
Criando uma página 404 personalizada
Crie um arquivo 404.php
:
<!DOCTYPE html>
<html>
<head>
<title>Página não encontrada</title>
</head>
<body>
<h1>Erro 404 - Página não encontrada</h1>
<p>A página que você procura pode ter sido removida ou está temporariamente indisponível.</p>
</body>
</html>
Configurando no .htaccess
para exibir a página customizada:
ErrorDocument 404 /404.php
Isso impede que o servidor exiba uma página padrão com informações internas da aplicação.
2. Lidando com erros 500 de forma segura
Erros 500 indicam falhas internas do servidor e podem expor detalhes da tecnologia utilizada. Para evitar isso, podemos configurar o PHP para não exibir erros diretamente ao usuário.
Desativando exibição de erros no navegador
No php.ini
, defina:
display_errors = Off
log_errors = On
error_log = /var/logs/minha_aplicacao/php_errors.log
Isso garante que erros sejam registrados, mas não expostos no navegador.
Criando uma página personalizada para erro 500
Crie um arquivo 500.php
:
<!DOCTYPE html>
<html>
<head>
<title>Erro interno do servidor</title>
</head>
<body>
<h1>Erro 500 - Erro interno do servidor</h1>
<p>Ocorreu um erro inesperado. Tente novamente mais tarde.</p>
</body>
</html>
Configure o .htaccess
para exibir essa página:
ErrorDocument 500 /500.php
3. Registrando logs de erros
Para facilitar a depuração sem comprometer a segurança, registre logs de erros em um diretório protegido:
error_log("Erro detectado: " . date('Y-m-d H:i:s'), 3, "/var/logs/minha_aplicacao/error.log");
Isso permite análise de falhas sem expor informações sensíveis.
Conclusão
A configuração correta dos erros 404 e 500 no PHP melhora a segurança e experiência do usuário. Esconder informações internas, criar páginas personalizadas e registrar logs de forma segura são práticas essenciais para uma aplicação protegida e profissional.
Por que configurar erros 404 e 500 corretamente no PHP é essencial?
Os erros 404 e 500 são mensagens comuns na web, mas se não forem tratados corretamente, podem expor detalhes da aplicação para atacantes. Um erro 500, por exemplo, pode revelar informações sobre o servidor, banco de dados ou estrutura da aplicação, fornecendo pistas valiosas para exploração de vulnerabilidades.
A melhor prática é configurar páginas de erro personalizadas que não revelem informações internas e garantir que logs de erros sejam armazenados em locais seguros. Isso protege tanto a segurança da aplicação quanto a experiência do usuário, tornando a aplicação mais confiável.
Além disso, registrar erros sem exibi-los diretamente no navegador permite a detecção rápida de falhas sem comprometer a integridade do sistema. Seguir essas medidas reduz os riscos de exploração e melhora a gestão de erros na aplicação.
Algumas aplicações:
- Evitar exposição de informações sensíveis em mensagens de erro.
- Proteger a aplicação contra ataques baseados em exploração de erros.
- Melhorar a experiência do usuário com páginas personalizadas de erro.
- Registrar logs para facilitar a detecção e correção de problemas.
Dicas para quem está começando
- Crie páginas personalizadas para erros 404 e 500 para evitar exposição de informações.
- Desative
display_errors
nophp.ini
para impedir que erros internos sejam exibidos no navegador. - Registre logs de erros em arquivos protegidos para análise posterior.
- Utilize
.htaccess
para definir páginas de erro personalizadas no Apache. - Monitore logs regularmente para identificar problemas antes que afetem os usuários.
Contribuições de Renata Oliveira