pblm upload fichier, interdire certains... - PHP - Programmation
Marsh Posté le 16-01-2007 à 16:04:47
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" ( "&&" ).
Marsh Posté le 16-01-2007 à 16:14:45
J'ai un doute tout à coup :
est ce que
Code :
|
va être considéré comme
Code :
|
ou comme
Code :
|
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.
Marsh Posté le 17-01-2007 à 10:24:45
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.
Marsh Posté le 17-01-2007 à 10:50:33
Pour ta derniére question, la doc de php est la référence.
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.
Marsh Posté le 17-01-2007 à 10:56:19
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à.
Marsh Posté le 18-01-2007 à 10:53:10
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...
Marsh Posté le 18-01-2007 à 14:29:45
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...
Marsh Posté le 18-01-2007 à 15:00:58
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
Marsh Posté le 16-01-2007 à 15:32:33
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.