Ariel 0 Denunciar post Postado Maio 5, 2006 tenho uma duvida em relacao ao mime-type:tenho um form onde o usuario informa a URL de um arquivo.Como identificar o mime-type desta linha, sendo que nao eh feito o Upload.No caso eu gravo a url do jeito q eh digitada e ela eh passada via POST.Como checar o mime-type do arquivo presente na url.Eu preciso fazer isso pq a URL eh executada na pagina posteriormente, e nao quero correr o risco de ter um arquivo falso enviado e executado no servidor.alguem pode falar ae?e outra tentei usar a funcao mime_content e nao rolou... deu funcao indefinida... coloquei no php.ini os itens pedidos, mas mesmo assim nada..vendo no manual, dizem pra ativar uma extension: extension=php_mime_magic.dll , mas nao tenho essa DLL ........ onde tem ?t+ Compartilhar este post Link para o post Compartilhar em outros sites
Insites 0 Denunciar post Postado Maio 5, 2006 você faz o upload do arquivo ou informa a url no formulário???nesse caso de verificar antes de enviar o formulario, se houver algum tipo de validação, pois eu desconheço, todas vão ser feitas no client-side com javascript, vale dar uma pesquisada no forum de javascript.com php essa validações são possiveis somente depois de enviado o formulário, php é server-side e só vai entrar em ação depois que você der o submit e todos os dados forem enviados. Compartilhar este post Link para o post Compartilhar em outros sites
Ariel 0 Denunciar post Postado Maio 5, 2006 pois entao,eu informo apenas a URL.Porem, NAO faço o upload. Uso a url no banco de dados diretamente.Oque eu preciso eh q verificasse, apos o submit mesmo, mas que de alguma forma pegasse a URL digitada e checasse se o arquivo tal eh realmente dakele tipo.tendeu?so sei fazer isso se fosse com o upload... mas preciso dessa outra forma agora. Compartilhar este post Link para o post Compartilhar em outros sites
Ariel 0 Denunciar post Postado Maio 5, 2006 aproveitando o topico.. fiz um teste com uma verificacao minha aqui, de check de imagem.Por exemplo, ele pega o mime do upload, porem, se a pessoa enviar um arquivo .exe renomeado pra .gif , ele pega o mime-type do GIF... o correto nao era identificar o mime do arquivo original correto? senao de nada adianta a verificacao.peguei o mime com o $_files['arquivo'][['type']alguem da uma sugestao? pq peguei muitas infos e tutoriais e todos dizem q isso era seguro.. mas to vendo q nao hein...... Compartilhar este post Link para o post Compartilhar em outros sites
Insites 0 Denunciar post Postado Maio 5, 2006 o que você pode fazer, não sei se resolve, é verificar os 3 ultimos digitos da url, porém é muito falho.sobre verificar o tipo mime de um arquivo que esteja em uma url, não sei se é possivel, pois arquivos que estejam em outro servidor, você consegue apenas redirecionar para esses arquivos, funções como copy e readfile não funcionam em arquivos que estejam em outro servidor. Compartilhar este post Link para o post Compartilhar em outros sites
Ariel 0 Denunciar post Postado Maio 5, 2006 usando a extensao pra verificar eh fraco... nao serve.fiz nesse outro modo ai achando q era mais seguro, mas no teste q fiz, com um arquivo renomeado.. ele enviou.. identificou como mime-type de imagem, mesmo nao sendo (so por causa da extensao)...e agora? Compartilhar este post Link para o post Compartilhar em outros sites
Insites 0 Denunciar post Postado Maio 5, 2006 Deve ter alguma coisa errada com seu script, o tyme mime verifica direto no arquivo o tipo dele.Fiz um teste agora, renomeei um txt como jpg e fiz o upload, mandei escrever na tela o mime do arquivo e escreveu text/plain indicando um txt.$_FILES["arquivo"]["type"]deve ter alguma coisa errada ae. Compartilhar este post Link para o post Compartilhar em outros sites
Ariel 0 Denunciar post Postado Maio 5, 2006 meu codigo ta assim: $nome_imagem = $_FILES['imagem']['name'];$tamanho_imagem = $_FILES['imagem']['size'];$imagem_temporario = $_FILES['imagem']['tmp_name'];$imagem_tipo = $_FILES['imagem']['type'];if (empty ($nome_imagem)){ $msg .= "Você não Selecionou uma Foto da amostra.<br>";}$imagem = isset($_FILES["imagem"]) ? $_FILES["imagem"] : FALSE;// Verifica se o mime-type é de imagemif($imagem) { if(!eregi("^image\/(pjpeg|jpeg|gif)$", $imagem_tipo)) { $msg .= "O arquivo enviado por você não é uma imagem Válida! Envie outra!<br>"; } }// fim verificacao mime-type oq acha q pode estar errado? no caso esse eh da imagem. Mas fiz o mesmo pra arquivo do tipo flash.. e tbm tive o mesmo resultado. Compartilhar este post Link para o post Compartilhar em outros sites
Insites 0 Denunciar post Postado Maio 5, 2006 rodei seu script aqui e não tive problema, olhe o resultado abaixo, mandei ele escrever o type, a mensagem do seu script e o nome do arquivo que enviei.text/plainO arquivo enviado por você não é uma imagem Válida! Envie outra!texto.jpgrenomeei o arquivo texto.txt para texto.jpg e ele continuou pegando como txt.não sei o que pode estar acontecendo na sua maquina, mas pegar o tipo mime do upload é super confiável. Compartilhar este post Link para o post Compartilhar em outros sites
Ariel 0 Denunciar post Postado Maio 5, 2006 muito estranho mesmo.testei no meu localhost e em um servidor... e ambos deram problema.. digo... com o arquivo renomeado, ele pega o mime da extensao e nao o arquivo correto...engracado q eh o cod q te passei mesmo... Compartilhar este post Link para o post Compartilhar em outros sites
natan88 0 Denunciar post Postado Novembro 21, 2008 Olha amigos, eu tinha esse mesmo problema e também essa dúvida quanto a pegar o mime-type. esse escript que o ariel postou é como eu uso aqui pra fazer as verificações dos uploads que faço e a questão de pegar o mime-type de um arquivo de txt como sendo de jpg só porque esta com a estensão jpg acontece no navegador firefox e opera, no internet explorer não acontece. OU seja, esse tipo de verificação não é assim 100% seguro. Uma pena. Só testeei nesses 3 navegadores, mas acho que qualquer outro navegador que use o nucleo do firefox tem esse problema. Compartilhar este post Link para o post Compartilhar em outros sites