[PHP] Upload [Récupération facile du type de fichier]

Upload [Récupération facile du type de fichier] [PHP] - PHP - Programmation

Marsh Posté le 10-02-2003 à 17:59:59    

Kikoo  :hello:  
 
Voila, je sais que l'on peut vérifié facilement le type d'un fichier en faisant par exemple :
 
if ($fichier_type<>"image/gif" ) {...}  
 
Mais cela, bien sur, c'est pour vérifié si c'est un gif ;), de meme pour un jpeg on aura image/jpeg
... Mais je me demande comment vérifié si c'est bien un fichier *.mid, ou *.mld ? Quel est la syntaxe du type ? son/mid ? :D
 
Merci  :jap:  

Reply

Marsh Posté le 10-02-2003 à 17:59:59   

Reply

Marsh Posté le 10-02-2003 à 18:52:10    

Ben tu fais un test !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 11-02-2003 à 00:50:34    

Moauis, un ereg() tout bête pour voir s'il le fichier fini par .mid et puis c'est tout.

Reply

Marsh Posté le 11-02-2003 à 01:06:28    

c'est : audio/mid
 
N'écoutez pas Cap'tain caca !
 
Il ne faut pas faire confiance au client ! C'est à dire au logiciel qui envoie le fichier.
 
C'est pas parce-que le fichier est un .mid que c'est un fichier MIDI ! C'est peut-être un exe avec un gros virus dedans ou n'importe quoi d'autre.
 
En revanche, $fichier_type contient un type mime qui à été défini par le serveur qui l'a reçu en éxaminant son contenu, pas du tout en se basant sur le nom du fichier.
 
Pour connaitre le type mime, ben tu envoie un fichier MIDI à ta page dans laquelle tu fais tout simplement :
 

Code :
  1. echo $fichier_type;


 
Trop balèze hein  :lol:


Message édité par Mara's dad le 11-02-2003 à 01:07:27

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 11-02-2003 à 01:14:50    

http://www.php.net/manual/en/features.file-upload.php

Citation :

$_FILES['userfile']['type']
The mime type of the file, if the browser provided this information. An example would be "image/gif".


 
et tu testes la valeur.


Message édité par ethernal le 11-02-2003 à 01:15:10
Reply

Marsh Posté le 11-02-2003 à 01:26:05    

Merde !
 
Je sais plus pourquoi, mais j'était persuadé que le type mime était déterminé par le serveur.
 
Si c'est le client qui le fourni, çà n'a plus aucune valeur !
Merçi à ethernal de me montrer mon erreur !
 
Re-Merde ! J'ai du boulot moi. Va faloir que je modifie mes routines d'upload d'images !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 11-02-2003 à 01:34:47    

je fais le même genre de test...
si tu test avec getimagesize(??) puis que tu regardes s'il n'y a pas d'erreur et éventuellement que le mime est bon je ne pense pas que cela pose de problème.

Code :
  1. $infos= getimagesize($file);
  2. if ( !is_array($infos) )
  3. {
  4.   erreur();
  5. }


 
j'ai déjà essayé d'uploader un fichier php avec une entête d'image (copier coller dans une image), ça passe à l'upload, mais c'est inexpoitable.
par contre je n'ai pas encore essayé d'uploader à la main en modifiant le mime.

Reply

Marsh Posté le 11-02-2003 à 03:27:43    

iiiiih m'excuse :sweat:
mais par simple curiosité, si un virus est uploader avec une extension .mid, il est inactif le virus nan ?

Reply

Marsh Posté le 11-02-2003 à 10:08:55    

Ben c'est sûr fô pas être trop parano non plus.
Quand je parle de virus, c'est plus pour faire peur :D  
Les vrais risques sont ailleurs.
Exemple :
Si je t'envoie un fichier PHP en le faisant passer pour un fichier MIDI, y'a un risque certain non ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 11-02-2003 à 10:44:35    

Mara's dad a écrit :


Exemple :
Si je t'envoie un fichier PHP en le faisant passer pour un fichier MIDI, y'a un risque certain non ?


 
pas s'il renomme le fichier avec une extension .mid, mais à une condition : vérifier que le fichier est bien uploadé.
Si ce n'est pas vérifié, on sait recopier le code php de son site avec une extension .mid et donc on sait le consulter puisqu'il ne sera pas interprêté.

Reply

Marsh Posté le 11-02-2003 à 10:44:35   

Reply

Marsh Posté le 11-02-2003 à 10:47:45    

L'utilitaire "file" sous Unix est votre ami :D


Message édité par Kristoph le 11-02-2003 à 10:47:51
Reply

Marsh Posté le 11-02-2003 à 11:03:00    

En cherchant un peu...
 
http://www.php.net/manual/en/funct [...] t-type.php


Message édité par Mara's dad le 11-02-2003 à 11:03:17

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 16-02-2003 à 23:22:35    

oki, merci Marha'shad ^^
 
par contre, pour récupéré les fichier de type mld, c'est audio/mld ? (c'est un format des mélodit pour portable) ?
 
Merci ! c'est la seuls fonction qui me manque ^^

Reply

Marsh Posté le 17-02-2003 à 08:52:55    

:ange:

Reply

Marsh Posté le 17-02-2003 à 12:09:00    

Ben tu fais :
echo( mime_content_type( nom_du_fichier ) );
 
Avec un fichier mld, et tu verra bien ce qu'il te dira !
 
S'il connait pas, ben tu ne peut pas tester avec le type mime.
Il faut que tu te fasse ta propre routine de reconnaissance, en lisant le fichier en question et en vérifiant sa structure.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 17-02-2003 à 14:22:22    

Mara's dad a écrit :

Ben tu fais :
echo( mime_content_type( nom_du_fichier ) );
 
Avec un fichier mld, et tu verra bien ce qu'il te dira !
 
S'il connait pas, ben tu ne peut pas tester avec le type mime.
Il faut que tu te fasse ta propre routine de reconnaissance, en lisant le fichier en question et en vérifiant sa structure.


 
oki, je vais tester ca merci  :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed