Normalmente usa-se o metodo de verificar a extensão de um arquivo para validação antes de ser enviado ao servidor. Esse metodo pode ser facilmente burlado, como pude comprovar quando tentaram enviar exploids para meu servidor no arquivo de exemplo que deixei no post sobre Upload de arquivos com o Flash 8.
Antes que o Wendel quebre minhas pernas, resolvi pesquisar outros meios para fazer upload seguros de arquivos. Encontrei esse artigo bem interessante no PHPBRASIL. Basicamente antes de fazer o upload, verifica-se o Mime Type do arquivo, por exemplo:
[php]
if($_FILES[‘userfile’][‘type’] == ‘application/x-shockwave-flash’){
//arquivo flash por ser enviado
}else{
//arquivo não é do tipo Flash :õ(
}
[/php]
Sendo assim, não se deve verificar somente a extensão dos arquivos para garantir maior segurança para seu servidor. Segue uma lista dos Mime Types disponiveis.
Para saber mais
Gerenciar o upload de arquivos:
http://www.php.net/manual/pt_BR/features.file-upload.php
Mime Types
http://www.webmaster-toolkit.com/mime-types.shtml
Upload de imagens com segurança
http://www.phpbrasil.com/articles/article.php/id/707