Page 1 sur 1

finfo_file()

Posté : 23 févr. 2010, 15:01
par inwebo
Bonjour,

Une question toute simple, est-ce que finfo_file() (PECL, maintenant par défaut dans PHP 5.3) retourne un MIME-TYPE sûr ? Peut on vraiment s'y fier ?

Merci par avance

Re: finfo_file()

Posté : 23 févr. 2010, 15:16
par stealth35
Bonjour,

Une question toute simple, est-ce que finfo_file() (PECL, maintenant par défaut dans PHP 5.3) retourne un MIME-TYPE sûr ? Peut on vraiment s'y fier ?

Merci par avance
le MIME c'est bidon (base de donnée simplement en fonction de l'extension...), t'aura jamais un truc pareil y'a IANA qui fait un peu office de base de donnée de MIME en espérant que PHP l'ai suivis

Re: finfo_file()

Posté : 23 févr. 2010, 15:26
par inwebo
Merci pour cette réponse rapide mais
Les fonctions dans ce module essaient de savoir le type de contenu et l'encodage d'un fichier en regardant certaines séquences d'octet magique
dixit la doc

Je ne pense pas que finfo_file() travail sur les extensions, mais sur ces octets et à partir de ceux ci il nous donne le mime-type, à moins que j'ai loupé qq chose.
Confirmation ?

Par contre IANA c'est trop bien ! je ne connaissais pas merci

Re: finfo_file()

Posté : 23 févr. 2010, 15:31
par stealth35
t'as raison file_info() ne travail pas sur les extention mais avec libmagic (qui recherche les cas particulier), par contre c'est toujours une base définie derrière, sauf que des fichier pourrais avec la même structure...
mais comme libmagic est quand meme beaucoup utulisé c'est deja mieux pour les correspondances

Re: finfo_file()

Posté : 23 févr. 2010, 15:43
par inwebo
Okay merci pour les infos !

Re: finfo_file()

Posté : 23 févr. 2010, 15:44
par stealth35
Okay merci pour les infos !
sur quelle type t'avais des doutes ?

Re: finfo_file()

Posté : 23 févr. 2010, 16:06
par inwebo
En gros je suis en train de faire une class d'upload (oui je sais très original), et pour un peu de sécurité (ce qui est reproché à beaucoup de script déjà disponible), je voulais testé le mime type, car dans la variable globale $_FILES le mime type est aisément falsifiable, donc je voulais trouvé le mime type grâce à php et non pas avec une $_FILES (qui est envoyé par le naviguateur il me semble).

J'ai déjà contrôlé la taille (en o) du fichier à uploader et celui qui est reçus, le mime-type avec $_FILES justement (donc pas top). Aurais tu d'autre idées de contrôle ?

Re: finfo_file()

Posté : 23 févr. 2010, 16:12
par stealth35
avec la libmagic c'est déjà beaucoup mieux qu'avec l'extension, même si dans le fond on pourra toujours feinter, faut pensé a déactiver les fonction "exec" et "system" dans ton dossier d'upload ( petit coup de htaccess )

Re: finfo_file()

Posté : 23 févr. 2010, 16:15
par inwebo
faut pensé a déactiver les fonction "exec" et "system" dans ton dossier d'upload ( petit coup de htaccess )
Très bonne idée ! En tout cas merci pour ces réponses.