finfo_file()

Eléphanteau du PHP | 45 Messages

23 févr. 2010, 15:01

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

ViPHP
ViPHP | 5462 Messages

23 févr. 2010, 15:16

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

Eléphanteau du PHP | 45 Messages

23 févr. 2010, 15:26

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

ViPHP
ViPHP | 5462 Messages

23 févr. 2010, 15:31

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

Eléphanteau du PHP | 45 Messages

23 févr. 2010, 15:43

Okay merci pour les infos !

ViPHP
ViPHP | 5462 Messages

23 févr. 2010, 15:44

Okay merci pour les infos !
sur quelle type t'avais des doutes ?

Eléphanteau du PHP | 45 Messages

23 févr. 2010, 16:06

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 ?

ViPHP
ViPHP | 5462 Messages

23 févr. 2010, 16:12

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 )

Eléphanteau du PHP | 45 Messages

23 févr. 2010, 16:15

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.