Desativando a exibição de erros e alertas no PHP

A exibição de alertas ou erros podem expor partes sensíveis e criticas do projeto.

Todo bom desenvolvedor debuga o seu código além de testar cada parte, sabendo se algo está funcionando ou não. Quando uma nova atualização chega, erros, alertas ou mensagens da aplicação podem surgir, mas essas informações não deve chegar para o usuário final, no máximo um status code 500.

Ao expor uma mensagem de erro, é possível que um atacante explore essa falha e obtenha informações importantes do projeto. É comum ver erros que mostram dados de uma tabela do banco de dados, isso se torna ainda mais complicado quando a plataforma não está protegida contra ataques de SQL Injection.

Configuração errada faz com que erros sejam exibidos.
Configuração errada faz com que erros sejam exibidos.

Vamos fazer uma simples configuração no arquivo php.ini, basicamente desativando os alertas. Mas atenção, essas configurações devem ser realizadas em ambiente de produção, no servidor local você deve deixar passar todos os erros, evitando assim subir features quebradas.

Na pasta root do seu servidor, crie um arquivo chamado php.ini e insira as instruções abaixo.

display_errors=off
error_reporting = off

Mas caso você não tenha acesso aos arquivos do servidor, insira o código abaixo no seu arquivo principal do PHP.

<?php
     error_reporting(0);
     ini_set("display_errors", 0);

Você pode conferir todos os valores aceitos em: https://www.php.net/manual/pt_BR/errorfunc.configuration.php#ini.display-errors.

É possível deixar apenas warning, notice, error e mais alguns outros, mas como foi abordado acima, erros devem ser evitados em ambiente de produção.

Gunnar Correa
Gunnar Correa

Autodidata, Graduado em Desenvolvimento Web, Especialista em Tecnologias na Educação e Pós-graduando em Segurança da Informação. Começou seus estudos na área de programação quando era criança, e atualmente, está estudando desenvolvimento de jogos. Fundador da SatellaSoft, criado em 2009 com o intuito de compartilhar conhecimento de forma gratuita e inédita.

Deixe um comentário