De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
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.