[résolu]Filtrer un fichier uploadé qui n'est pas un fichier

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [résolu]Filtrer un fichier uploadé qui n'est pas un fichier

Re: Filtrer un fichier uploadé qui n'est pas un fichier

par laurents » 06 déc. 2011, 12:03

J'ai déjà tenté d'utiliser fileinfo pour obtenir le type mime, mais je me souviens que ça ne marchait pas (j'ai oublié ce qui se passait...), donc $_FILES['fichier']['type'], ça m'allait très bien...

Re: Filtrer un fichier uploadé qui n'est pas un fichier

par moogli » 06 déc. 2011, 11:53

pour le "remplacement" de mime_content_type tu a => http://www.php.net/manual/fr/ref.fileinfo.php qui pourrait être une meilleur solution que d'utiliser le "type" de $_FILES ceci dit ça doit le faire aussi

@+

Re: Filtrer un fichier uploadé qui n'est pas un fichier

par xTG » 05 déc. 2011, 19:06

Bah tu compares juste le type mime avec ce que tu veux...
Regardes donc celui retourné par un zip et tu sauras quoi refuser.

N.B : mon premier message était totalement HS, j'avais mal lu ton code.

Re: Filtrer un fichier uploadé qui n'est pas un fichier

par laurents » 05 déc. 2011, 18:38

Pour récupérer le type mime, j'ai vu la fonction "mime_content_type", mais elle est "deprecated" ; donc comment faire ?

Re: Filtrer un fichier uploadé qui n'est pas un fichier

par xTG » 05 déc. 2011, 18:28

Il faut regarder le type mime du fichier que tu trouveras dans l'index type.

[résolu]Filtrer un fichier uploadé qui n'est pas un fichier

par laurents » 05 déc. 2011, 18:20

Bonjour,

voici mon pb : j'ai un formulaire qui permet de sélectionner un fichier à uploader ; mais évidemment, si on sélectionne un .zip, je voudrais le rejeter. J'ai essayé ce code :
    $type_file = $_FILES['fichier']['type'];
	
	if (strstr("compressed", $type_file))
	{
	   exit("Ce n'est pas un fichier, bâtard");
	}
mais ça n'a pas marché (on ne sort pas et le script plante un peu plus loin) : comment faire ?