Page 1 sur 1

Résolu: zip = 'application/empty' sous Firefox/Ubuntu

Publié : 06 avr. 2015, 08:50
par Ymai
Bonjour
Soit une application en PHP qui accepte des fichiers .zip dans une zone d'upload.
Lors de l'envoi d'un fichier, le système vérifie le type:

Code : Tout sélectionner

$type = $_FILES['file']['type']; 
puis, en fonction du type, accepte ou refuse de traiter le fichier envoyé.
Les types testés et acceptés sont

Code : Tout sélectionner

 'application/zip'
 'application/x-zip-compressed'
 'multipart/x-zip'
 'application/x-compressed'
et tout se passait le mieux du monde.
Je réalise maintenant que la procédure ne fonctionne plus sous Firefox 37/Ubuntu 14.04. Tous les fichiers .zip que je teste sont reconnus comme

Code : Tout sélectionner

'application/empty'
J'ignore depuis quand la procédure ne fonctionne plus; je ne l'ai plus utilisée depuis quelques mois.
Par contre, les mêmes fichiers .zip uploadés via Chromium sont reconnus comme 'application/zip' et la procédure suit son cours.
Les mêmes fichiers .zip uploadés via Firefox 37 sous Windows sont correctement reconnus aussi.
J'ai testé des fichiers .zip de différentes origines: "home made" et divers .zip trouvés sur le web. Avec les mêmes résultats.

Questions:
- est-ce un bug dans Firefox/Ubuntu?
- puis-je rajouter impunément 'application/empty' dans la liste des fichiers qui sont acceptables? Même si cela ressemble à une mauvaise rustine?

Merci pour toute indication.
Votre Navigateur : Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0

Re: zip = 'application/empty' sous Firefox/Ubuntu

Publié : 06 avr. 2015, 17:07
par Ymai
Je parle tout seul et on dira que je radote...
Là, je pense avoir trouvé un contournement avec la fonction

Code : Tout sélectionner

finfo_open
qui donne une "bonne" réponse tant pour les fichiers .zip que pour les .jpg ; soit les deux cas qui me concerne.
Mais il n'en reste pas moins troublant que ma version de FF n'aime pas la syntaxe

Code : Tout sélectionner

$type = $_FILES['file']['type']; 
pour déterminer le type d'un fichier.

Dois-je passer le sujet en "résolu" (alors que ce ne l'est pas)?
Votre Navigateur : Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0

Publié : 09 avr. 2015, 12:39
par ~HP
Ymai a écrit :Je parle tout seul et on dira que je radote...
Là, je pense avoir trouvé un contournement avec la fonction

Code : Tout sélectionner

finfo_open
C'est la bonne solution… puisque tu utilises une détection côté serveur.
Votre Navigateur : Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0

Re: zip = 'application/empty' sous Firefox/Ubuntu

Publié : 09 avr. 2015, 13:42
par Ymai
Merci pour la confirmation. Mais cela reste-t-il un bug à signaler? Le comportement de FF/Ubuntu ne me semble pas "normal", dans le cas d'espèce...
Votre Navigateur : Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0

Re: zip = 'application/empty' sous Firefox/Ubuntu

Publié : 10 avr. 2015, 00:43
par Bobe
Tu as essayé avec un profil firefox vierge ? (au cas où)
Votre Navigateur : Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0

Re: zip = 'application/empty' sous Firefox/Ubuntu

Publié : 10 avr. 2015, 10:58
par Ymai
Bonjour
Je crois que le mystère va rester entier. Le système renvoie bien "application/zip" actuellement.
Mais, il y a eu une màj de FF entre-temps.
J'en reste toutefois à la nouvelle version avec "finfo_open".
Désolé pour le bruit.
Votre Navigateur : Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0

Publié : 10 avr. 2015, 11:43
par ~HP
Ymai a écrit :J'en reste toutefois à la nouvelle version avec "finfo_open"
Des 2 solutions proposées dans ce topic c'est la seule qui soit complètement efficace et sécurisée ; donc bon…
Votre Navigateur : Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0