Quem desenvolve sistemas para web sabe que o ambiente de produção nem
sempre é aquela maravilha de organização, sempre ficam uns arquivos para
trás, como teste.php, index_antiga.php, naosei.exemplo etc.
Só que, infelizmente, o mundo não é tão azul assim e existem pessoas
que adoram tirar proveito e prejudicar os outros. E o mais fácil de achar são projetos com
arquivos esquecidos, como por exemplo o famoso connect.inc,
con.inc, conectar.inc. Isso já mostra o quanto de
“sobrinhos” existem no mercado de sistemas para web, reflete a baixa profissionalização de programadores web e a falta
de visão das empresas, que ainda pagam esses serviços com a filosofia do
“bom e barato”.
Se tem uma coisa que todo programador web deveria
saber é que o seu sistema VAI estar na internet!!! Isso parece óbvio para você? Ótimo. Pois para uma grande parte de
programadores web, não.
Vamos fazer um teste? Abra o Google e busque por isso backup
filetype:sql. Viram que maravilha?
Ok. Não retornou tantos resultados assim, vamos perder mais 5min
estudando a busca do Google e vamos pesquisar por “bkp” ext:SQL.
O negócio tá ficando mais bonito, não é? Agora pense naquele carinha que não tem o que fazer, que fica o dia inteiro na internet tentando
achar algo para atrapalhar e começa a pesquisar site por site atrás desses
lixos no servidor.
Você, programador, sabe que muitos programas geram
arquivos de backups dos arquivos que estão sendo construídos, por
exemplo o Kwrite gera um nomedoarquivo.php~ do arquivo que você está programando e muitas vezes você manda pro FTP sem nem saber.
Quer ver que legal? Pesquise isso “index” ext:php~
Tá ficando divertido, né? Acho que mais uma meia hora
estudando meios de fazer buscas no Google e vou achar alguma
senha de conexão a algum banco de dados.
Como eliminar isso? Conheço três soluções:
- Tomar vergonha na cara duas vezes ao dia. Uma no início do
expediente e outra no final. - Usar sempre um controle de versão (svn) e, quando você for enviar algo
para internet, usar o comando svn export
projeto projetolimpo, que vai gerar uma pasta apenas
com os arquivos do projeto que foram adicionados ao controle de versão do
seu repositório. - Colocar um arquivo robots.txt na raiz da sua aplicação bloqueando o
acesso dos robôs das buscas no seus diretórios. Você não sabe o que é o
robots.txt? O Google sabe.
Essa falha de segurança cometida por muitos programadores é apenas a
ponta do iceberg.