você está aqui: Home  → Arquivo de Mensagens

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