Protegendo contra upload de arquivos maliciosos
Ao permitir que os usuários enviem arquivos ao seu servidor, você deve estar atento ao risco que eles podem apresentar: arquivos .exe podem chegar com vírus e infectar o computador de todos os usuários que fizerem o download. Um invasor pode criar um arquivo .asp e através de FSO ter controle completo sobre seus arquivos.
Para solucionar este problema você deve filtrar os arquivos enviados, aceitando somente aqueles com a extensão desejada. Por exemplo, se você tem um script com a finalidade de enviar imagens, programe-o para aceitar somente arquivos com extensões .jpg e .gif.
Essa restrição poderá ser feita através de um if simples ou com funções pré-existentes em alguns componentes de upload. Veja abaixo alguns exemplos:
Verificação simples utilizando PHP
<?
if (!empty($arquivo) and is_file($arquivo)) {
$caminho="upload/";
$caminho=$caminho.$arquivo_name;
if ((eregi(".gif$", $arquivo_name)) || (eregi(".jpg$", $arquivo_name))){
copy($arquivo,$caminho);
print "Arquivo enviado com sucesso!";
}
else{
print "Arquivo não enviado!";
print "Tipo de arquivo inválido!";
}
}
?>