Upload [Récupération facile du type de fichier] [PHP] - PHP - Programmation
Marsh Posté le 10-02-2003 à 18:52:10
Ben tu fais un test !
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.
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 :
|
Trop balèze hein
Marsh Posté le 11-02-2003 à 01:14:50
http://www.php.net/manual/en/features.file-upload.php
Citation : $_FILES['userfile']['type'] |
et tu testes la valeur.
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 !
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 :
|
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.
Marsh Posté le 11-02-2003 à 03:27:43
iiiiih m'excuse
mais par simple curiosité, si un virus est uploader avec une extension .mid, il est inactif le virus nan ?
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
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 ?
Marsh Posté le 11-02-2003 à 10:44:35
Mara's dad a écrit : |
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é.
Marsh Posté le 11-02-2003 à 10:47:45
L'utilitaire "file" sous Unix est votre ami
Marsh Posté le 11-02-2003 à 11:03:00
En cherchant un peu...
http://www.php.net/manual/en/funct [...] t-type.php
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 ^^
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.
Marsh Posté le 17-02-2003 à 14:22:22
Mara's dad a écrit : Ben tu fais : |
oki, je vais tester ca merci
Marsh Posté le 10-02-2003 à 17:59:59
Kikoo
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 ?
Merci