Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
630 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  pblm upload fichier, interdire certains...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

pblm upload fichier, interdire certains...

n°1503693
omega2
Posté le 16-01-2007 à 15:32:33  profilanswer
 

ligne 14, dans la partie "in_array", t'ouvres 3 parentaises et tu n'en ferme que deux.
PS : Pense à afficher les erreurs et allerte quand tu développes.

mood
Publicité
Posté le 16-01-2007 à 15:32:33  profilanswer
 

n°1503730
omega2
Posté le 16-01-2007 à 16:04:47  profilanswer
 

Autant pour moi, je n'avais pas la fin de la ligne d'affiché.
Au fait, ce que tu veux, c'est que le fichier soit téléchargé si l'une des trois conditions suivante est respecté ou si aucune n'est respecté?
1) nom de fichier non vide
2) fichier existe
3) l'extension du fichier ne fait pas partie d'une liste donné
 
D'aprés ton code tu passes dés que l'une des trois est bonne (utilisation du "OU" : "||" ). Si tu veux exiger que le nom de fichier soit valide selon les trois régles, il faut utiliser un "ET" ( "&&" ).

n°1503740
omega2
Posté le 16-01-2007 à 16:14:45  profilanswer
 

J'ai un doute tout à coup :
est ce que

Code :
  1. !file_exists($fichier) && !in_array(substr(strrchr($fichier_name, '.'),1),$extensions_notOk))


va être considéré comme

Code :
  1. !(file_exists($fichier) && !(in_array(substr(strrchr($fichier_name, '.'),1),$extensions_notOk))))


ou comme

Code :
  1. (!file_exists($fichier)) && (!in_array(substr(strrchr($fichier_name, '.'),1),$extensions_notOk)))


En bref, je me rapelle plus si les ! sont toujours traité avant toujours traité aprés les && ou bien si c'est traité de droite à gauche (ou inversement).
 
Essaye en rajoutant des parentaises. Sinon il faudrait que je teste de chez moi ce soir.

n°1504044
omega2
Posté le 17-01-2007 à 10:24:45  profilanswer
 

Vu le code que t'as choisit de ce que j'ai écrit, c'est normal que ca ne prenne que les .php vu que tu dit entre parentaise "s'il existe et qu'il n'est pas dans la liste" mais t'inverse ensuite cette condition là ce qui donne : "s'il n'existe pas ou qu'il appartient à la liste".
C'est l'autre ensemble de parentaise qu'il aurait fallut prendre pour éviter la double insertion à moins de remplacer le "et" entre parentaise par un "ou" et d'enlever la négation portant sur le test de l'extension.

n°1504057
omega2
Posté le 17-01-2007 à 10:50:33  profilanswer
 

Pour ta derniére question, la doc de php est la référence. :p
Aller je t'aide : make_dir n'existe pas.
A noter que t'aurais eu la réponse plus vite en allant lire la doc. :p

n°1504064
omega2
Posté le 17-01-2007 à 10:56:19  profilanswer
 

J'ai déjà vu il y a quelques années des codes dans des bouquins qui utilisaient une librairie maison fournis sur le cd du bouquin ou sur le site web de l'écrivain ou de l'éditeur.
Il y a aussi des bouquins où le code de certaines pages (numéro de page au pif) utilisent des fonctions inventé/développé quelques chapitres plus tôt.
 
A mon avis c'est le cas pour cette fonction là. ;)

n°1504527
FlorentG
Unité de Masse
Posté le 18-01-2007 à 10:53:10  profilanswer
 

La protection utilisée est complètement faillée : on peut très bien mettre du PHP, et changer l'extension :( Pareil pour les .exe... Il vaut mieux tester le type MIME du fichier reçu, là ça sert strictement à rien...


Message édité par FlorentG le 18-01-2007 à 10:53:25
n°1504587
sielfried
Posté le 18-01-2007 à 13:10:01  profilanswer
 

$_FILES['ton_fichier']['type']

n°1504612
FlorentG
Unité de Masse
Posté le 18-01-2007 à 14:29:45  profilanswer
 

sielfried a écrit :

$_FILES['ton_fichier']['type']


Pas mieux, parce qu'on peut forger une requête à la main avec un autre type :(. Mieux vaut se tourner vers l'extension mimemagic ou un truc comme ça, qui fait ça pour de vrai en testant le contenu du fichier...

n°1504623
sielfried
Posté le 18-01-2007 à 15:00:58  profilanswer
 

Ouais, c'est sûr, dépend du niveau de sécurité requis après.
 
Sinon plutôt que mime-magic, je recommande :
http://fr2.php.net/manual/fr/function.finfo-file.php


Message édité par sielfried le 18-01-2007 à 15:01:11

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
mood
Publicité
Posté le 18-01-2007 à 15:00:58  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  pblm upload fichier, interdire certains...

 

Sujets relatifs
Pb upload ftplecture de fichier
Lecture d'un fichier xml à partir d'une urlAfficher que la première page d'un fichier pdf
[C#] lecture de fichier : retour au début ("rewind") ??inclure un fichier jsf dans un autre
uploder toujour le meme fichier[Macro Excel] Comment récupérer le nom du fichier?
EAR, EJB et fichier de configurationrenommer un fichier sans toucher à son extension
Plus de sujets relatifs à : pblm upload fichier, interdire certains...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR