você está aqui: Home  → Arquivo de Mensagens Programação Shell Linux: Inscrições Abertas

Salvando a pele do Programador php - Uploads de arquivos indevidos

Colaboração: Altemir Braz Dantas Junior

Data de Publicação: 03 de março de 2011

Seguindo a mesma linha da dica Salvando a pele do Programador php - SQL Injection.

Então vamos lá. Primeiramente crie um arquivo php contendo as seguintes linhas:

ex: security.php

/*
  aqui vai varrer todos FILES (variavel responsavel por arquivos) e jogar
  o o nome do arquivo para a funcao verifica_extensao
*/

foreach ($_FILES as $f){
   foreach($f as $index=>$valor){
       if($index == 'name'){
           verifica_extensao($valor);
       }
   }
}

function verifica_extensao($var){

//aqui um array de todas as extensoes proibidas para upload
   $proibidas['extensoes'] = array('php', 'phps', 'exe','bat','msi','asp','js');
//pega a extensao em minusculo
   $extensao               = strtolower(end(explode('.',$var)));
   $existe                 = in_array($extensao, $proibidas['extensoes']);

   if ($existe) {
       echo "< script>alert('Erro: Extensão Proibida!');history.go(-1);</script>";
       exit;
   }
}

Agora é só dar um include desse arquivo na lib principal ou em todos os arquivos php que fazem upload.



Veja a relação completa dos artigos de Altemir Braz Dantas Junior