Boa noite pessoal. Essa mensagem é meramente informativa. Há alguns dias eu andei pesquisando aki na lista sobre o SWFUpload, pois eu havia gostado mto do sistema e queria utilizá-lo em um projeto pessoal.
O SWFUpload é feito em flash. Basicamente, ele fica oculto na página, em um elemento de 1x1 pixel. A função dele é apenas exibir uma caixa de diálogo de seleção de arquivos, e no caso de multiplos arquivos, gerenciar uma "fila de espera". Depois de criar essa fila, o SWFUpload faz uma requisição para um script externo (podendo sem em PHP, ASP ou qq outra linguagem) que é o verdadeiro responsável pelo envio dos arquivos da fila. Para cada arquivo processado, ele devolve o estado do upload, dizendo se foi concluído com sucesso ou se houve alguma falha. Gastei quase uma semana entendendo o funcionamento dele, e criando um painel de upload de fotos para um album no site que estava administrando. Horas e horas na frente do PC, e funcionou perfeitamente no XAMPP, instalado localmente apenas para testes. Quando subi os arquivos para o servidor oficial, onde fica o website, nada do upload funcionar. Embora na interface disse que "todos os arquivos foram enviado com sucesso", e o SWFUpload retornasse sucesso no envio dos arquivos, acabei descobrindo (depois de mto suor, e com a ajuda do querido FireBug), que o servidor estava bloqueando o SWFUpload. Toda vez que ele requisitava o upload.php, era substituído por uma página de informação do servidor onde dizia que aquela ação era proibida por questões de segurança. Entrei em contato com o admin do server, e juntos descobrimos a razão: Muitos servidor Apache trabalham com um módulo chamado mod_security (www.modsecurity.org) que faz uma espécie de "filtragem" nos cabeçalhos das requisições HTTP. Trabalha como se fosse um Firewall. Dentre as regras de segurança mais aplicadas pelo mod_security, estão a proibição de envio de arquivos de scritpt (PHP, JS, ASP, etc) e executáveis, e também o bloqueio de requisições onde o cabeçalho User-Agent não é enviado ou é enviado como null. No forum do SWFUpload, dizem que ele envia um User-Agent chamado "Shockwave Flash", porém no log do servidor constava o User-Agent nulo mesmo. Após muitas pesquisas, descobrimos no forum da Adobe que na verdade, trata-se de um bug, não do SWFUpload, mas sim do próprio Flash Player, que substitui o User-Agent: Shockwave Flash por "Adobe Flash Player 9". Acontece que por algum motivo ainda não certo, isso não é passado para o servidor; A unica maneira de contornar esse bug seria desativar a extensão mod_security, coisa que nenhum admin em sã consciência faria. Resultado: Tive que refazer toda a parte do envio de fotos, e aguardar uma solução da Adobe para o problema. O SWFUpload é uma ferramenta fantástica, que vale a pena ser utilizada, pois ajuda muito nesses casos de upload de vários arquivos, mas se for utilizá-la, tenha certeza que seu servidor será capaz de recebê-la bem; Assim vc não terá as msm dores de cabeças q eu tive por aqui. Só por curiosidade, alguém também já passou por isso, ou conseguiu fazê-lo funcionar bem em algum projeto publicado? Abraço a todos. Mike _______________________________________________ Lista mailing list [email protected] http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

