Tutoriais

Atendimento em horário comercial via chat

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!";
    }
}
?>