Dados sensíveis em arquivos com extensão .inc

Muitos desenvolvedores PHP acabam usando em seus códigos arquivos com extensão .inc, para configuração de variáveis ou inclusão de informações relevantes no site ou sistema. O uso de arquivos com este tipo de extensão é um simples convencionamento, quando se deseja incluir algum dado em uma área específica da aplicação. Não existe problema algum em usar arquivos com esta extensão no PHP, desde que o conteúdo que deseja "incluir" NÃO seja um dado sensível.

[ Hits: 6.502 ]

Por: Augusto de Paula Pereira em 28/05/2015 | Blog: http://www.augustopereira.com.br


Neste caso, o que fazer?



Particularmente, costumo evitar o uso deste tipo de extensão em qualquer aplicação PHP, uma vez que posso usar extensões ".php" para o propósito de configuração de variáveis, por exemplo. Portanto, voltando ao exemplo acima, eu utilizaria um arquivo "conectaBancoDeDados.php" e não teria o inconveniente dele ser processado pelo navegador do cliente, sendo que extensões ".php" são processadas diretamente no servidor.

Uma outra saída, caso já tenha diversos arquivos ".inc" espalhados pelos seus códigos, cujo o esforço para renomeá-los é muito grande, seria configurar o seu servidor adequadamente para processar arquivos ".inc" como se fossem ".php".

No Apache, a saída seria adicionar o seguinte código em ".htaccess":

AddHandler application/x-httpd-php .inc

Assim, todos os arquivos com extensão ".inc" seriam processados pelo servidor como se fossem ".php" e os navegadores web de clientes que tentassem acessar estes arquivos diretamente, não seriam capazes de ver o conteúdo.

Isto só vale para arquivos extensão .inc?

Não! Vários outros tipos de extensões não são reconhecidas por padrão pelos servidores web e deveriam ser tratados com o mesmo cuidado dos arquivos com extensão ".inc". Abaixo, estão exemplos de extensões que muitas das vezes são usadas em servidores que com uma simples pesquisa no Google podem ser revelados:

ext:conf | ext:cnf | ext:reg | ext:inf | ext:rdp | ext:cfg | ext:txt | ext:ora | ext:ini | ext:inc | ext:sql | ext:dbf | ext:mdb | ext:bkf | ext:bkp | ext:bak

Tenha cuidado com os dados contidos em arquivos com estas extensões, pois podem estar sendo indevidamente expostos na internet. Veja a melhor forma de corrigir cada um dos casos para evitar dores de cabeça desnecessárias.

Conclusão

Tente evitar o uso de extensões genéricas em sites/sistemas PHP, como as apresentadas acima. Dê preferência ao uso de extensões ".php" para dados sensíveis.

Em casos particulares, tente aplicar a configuração correta no servidor, para evitar exposição indevida de dados.

Página anterior    

Páginas do artigo
   1. Introdução
   2. Neste caso, o que fazer?
Outros artigos deste autor

Instalações PHP não seguras

Leitura recomendada

Instalações PHP não seguras

Pentesting on PHP apps: XSS

Segurança: Autenticando o PHP com HTTP (Authentication Required)

Criptografando mensagens com PHP

PHP: Programando com segurança

  
Comentários
[1] Comentário enviado por rgrsoares em 07/06/2015 - 13:09h

Para se "divertirem", busquem no google: "conexao filetype:inc" (sem aspas).

[2] Comentário enviado por aprendiz_ce em 03/05/2017 - 11:11h

Excelente dica. Muitas vezes esses detalhes passam despercebidos e acabam causando muita dor de cabeça.
Parabéns!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts