Pesquisa de site

Como ocultar o número da versão do PHP no cabeçalho HTTP


A configuração do PHP, por padrão, permite que o cabeçalho de resposta HTTP do servidor ‘X-Powered-By‘ exiba a versão do PHP instalada em um servidor.

Por razões de segurança do servidor (embora não seja uma grande ameaça com a qual se preocupar), é recomendado que você desabilite ou oculte essas informações de invasores que possam estar atacando seu servidor querendo saber se você está executando PHP ou não.

Supondo que uma determinada versão do PHP instalada em seu servidor tenha falhas de segurança e, por outro lado, os invasores saibam disso, será muito mais fácil para eles explorar vulnerabilidades e obter acesso ao servidor por meio de scripts.

Em meu artigo anterior, mostrei como ocultar o número da versão do Apache, onde você viu como desativar a versão instalada do Apache. Mas se você estiver executando PHP em seu servidor web apache, você também precisará ocultar a versão instalada do PHP, e é isso que mostraremos neste artigo.

Portanto, neste post, explicaremos como ocultar ou desativar a exibição do número da versão do PHP no cabeçalho de resposta HTTP do servidor.

Esta configuração pode ser definida no arquivo de configuração PHP carregado. Caso você não saiba a localização deste arquivo de configuração em seu servidor, execute o comando abaixo para localizá-lo:

php -i | grep "Loaded Configuration File"
---------------- On CentOS/RHEL/Fedora ---------------- 
Loaded Configuration File => /etc/php.ini

---------------- On Debian/Ubuntu/Linux Mint ---------------- 
Loaded Configuration File => /etc/php/7.0/cli/php.ini

Antes de fazer qualquer alteração no arquivo de configuração do PHP, sugiro que você primeiro faça um backup do seu arquivo de configuração do PHP da seguinte forma:

---------------- On CentOS/RHEL/Fedora ---------------- 
sudo cp /etc/php.ini /etc/php.ini.orig

---------------- On Debian/Ubuntu/Linux Mint ---------------- 
sudo cp /etc/php/7.0/cli/php.ini  /etc/php/7.0/cli/php.ini.orig  

Em seguida, abra o arquivo usando seu editor favorito com privilégios de superusuário, assim:

---------------- On CentOS/RHEL/Fedora ---------------- 
sudo vi /etc/php.ini

---------------- On Debian/Ubuntu/Linux Mint ---------------- 
sudo vi /etc/php/7.0/cli/php.ini

Localize a palavra-chave expose_php e defina seu valor como Off:

expose_php = off

Salve o arquivo e saia. Depois, reinicie o servidor web da seguinte forma:

---------------- On SystemD ---------------- 
sudo systemctl restart httpd
sudo systemctl restart apache2 

---------------- On SysVInit ---------------- 
sudo service httpd restart
sudo service apache2 restart

Por último, mas não menos importante, verifique se o cabeçalho de resposta HTTP do servidor ainda mostra o número da sua versão do PHP usando o comando abaixo.

lynx -head -mime_header http://localhost 
OR
lynx -head -mime_header http://server-address

onde as bandeiras:

  1. -head – envia uma solicitação HEAD para os cabeçalhos mime.
  2. -mime_header – imprime o cabeçalho MIME de um documento obtido junto com sua fonte.

Nota: Certifique-se de ter o lynx – navegador de linha de comando instalado em seu sistema.

É isso! Neste artigo, explicamos como ocultar o número da versão do PHP no cabeçalho de resposta HTTP do servidor para proteger um servidor web de possíveis ataques. Você pode adicionar uma opinião a esta postagem ou talvez fazer qualquer pergunta relacionada por meio do formulário de comentários abaixo.