MULTI-UPLOAD V1 -

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 13 sept. 2005 à 21:44
redmatrice Messages postés 1 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 25 mars 2011 - 25 mars 2011 à 16:55
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/33779-multi-upload-v1

redmatrice Messages postés 1 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 25 mars 2011
25 mars 2011 à 16:55
Merci pour ce script!!

Mais il y juste quelque chose a modifier : au lieu de

Ligne 40 : ereg_replace('^[[:alnum:]]([-_.]?[[:alnum:]])*\.'

met preg_replace('/^[[:alnum:]]([-_.]?[[:alnum:]])*\./'

parce que la Function ereg_replace() is deprecated
Slibo Messages postés 1 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 3 octobre 2007
3 oct. 2007 à 22:40
J'ré-ouvre ce sujet fossilisé. Ça m'a l'air pas mal du tout pour ce que jveux faire. Seul problème: j'arrive pas a configurer le repertoire de destination des uploads, le define('FILE_UPLOAD_DIR', dirname($_SERVER['SCRIPT_FILENAME']).'/');

j'ai cherché les utilisations des différentes fonctions et variables mais j'ai pas réussi a les faire atterir ou jveu. En fait dès que je touche à ce paramètre l'upload ne fonctionne plus..

g mon dossier photos/ avec kom arborescence:
photos/admin/ (<--upload.php)
photos/pics/
photos/index.php

et je voudrais que les photos uploader tombent dans pics/

mais impossible je comprend pas ske jdois mettre après define('FILE_UPLOAD_DIR', ??? );

Si quelqu'un a le courage de se replonger ds ce script pour m'helper, c'est l'avant-dernier "gros morceaux" de mon site et je bloque là.
cs_snipermaker Messages postés 2 Date d'inscription mercredi 11 mai 2005 Statut Membre Dernière intervention 10 février 2010
23 mai 2007 à 13:15
Voila je réanime ce vieux sujet o_O puisque j'ai attéri ici par une simple recherche, alors n'importe qui peut tomber ici et utiliser ce script qui comporte une grosse faille arrrrfff...

Le formulaire d'upload ci-dossus donne la possibilité de renomer les fichiers uploadés et c'est ici la faille :) Biensur les fichiers *.php sont interdit par le script, mais si je renome mon fichier *.php en *.jpg en local par exemple, et sur la page de l'upload je renome en *.php alors là mon fichier php passe son dificulté...

Résultat: ça peut faire d'énormes dégats à celui qui utilise ce script si sa page d'upload tombe entre des mains malveillantes.

/!\ Pensez à vérifier les extensions sur les cases à renomer /!\
cs_lanner Messages postés 131 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 8 avril 2015
23 déc. 2005 à 15:54
est ce qu'il es normal que si one place le nom a droite du fichier qu'on upload on doit mettre aussi l'extension ? car en testant il envoi le fichier sans extension si je n'en met pas
stayve Messages postés 4 Date d'inscription mercredi 10 novembre 2004 Statut Membre Dernière intervention 26 septembre 2005
26 sept. 2005 à 16:55
mdrrrr ,je pensais pas faire un debat sur les css

j ai mis le css dans la meme page pour la simple raison qu il n y a qu un script , ce n est pas un cms ou autre .....

mon prochain script sera surement sans css mais c est dommage , quand t arrive sur la page , t a un truc propre ....

remarque je ferais peut etre un cour pour mettre le css dans une page stylesheet.css mdrrrrr

en ce qui concerne le html vous aller me dire pourquoi il met 2 tableaux alors qu avec 1 sa suffie
avec un style: border-width: 1px; border-color:#000000;

pour les non innicier au joie des differents naviguateur
notamment mozilla , -le css bug "border-width: 1px"-

avec 2 tableaux ,peux importe le naviguateur ,le resultat a l affichage est le meme (mais forcement y a + de code html)

alors ont dit merci stayve pour le tuyau :)

@pluche
cs_djmaster Messages postés 28 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 12 mai 2008
21 sept. 2005 à 20:21
Sur ce point on est d'accord. ;) Bref on va pas lancé un débat.
Bon coding à tous, vous promez de plus mettre mon petit grain de mauvaise hummeur. lol

++ All
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
21 sept. 2005 à 18:36
je préfères aussi les codes bien codés, cependant, diviser en plusieurs fichiers ne peut permetre que de faire des changements d'interfaces faciles... et encore...

généralement, je ne fais pas plus de trois fichiers...
cs_djmaster Messages postés 28 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 12 mai 2008
21 sept. 2005 à 17:20
Oui c'est vrai, mais je trouve que sa donne un peut mieu au niveau de la lecture. Tant qu'à faire a codé, autant codé proprement. (C'est mon conseil, ensuite reste a voir avec la manierre de codé).
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
20 sept. 2005 à 19:45
coté html, tu n'utilises pas les CSS partout, et c'est assez dommage...
<table border="0" cellspacing="1" cellpadding="0" align="center" class="border">

Pour moi, que le CSS soit inclu ou dans la page ne change rien...
cs_djmaster Messages postés 28 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 12 mai 2008
19 sept. 2005 à 21:25
Quand je parlé de mettre du css, je voulé dire de le mettre dans une fichier a part. Pour allégé un peut.

<link rel="stylesheet" media="screen" type="text/css" title="Son_CSS" href="Son_CSS.css" />

Et non de le mettre dans le même fichier. (Enfin c'est mon avis, ensuite c'est a voir avec les codeur, quel logique prendre.)
stayve Messages postés 4 Date d'inscription mercredi 10 novembre 2004 Statut Membre Dernière intervention 26 septembre 2005
19 sept. 2005 à 13:51
djmaster <style> = css !

je suis d accord avec toi djangoboy , sa aurais ete + simple d autoriser juste les extensions voulus mais sa depend l application que tu lui donne
si tu veux le modifier y a pas grand chose a faire .....
djangoboy Messages postés 54 Date d'inscription lundi 14 avril 2003 Statut Membre Dernière intervention 25 septembre 2007
19 sept. 2005 à 13:00
Je trouve que ce script est pas mal, par contre à la place d'interdire certaines extensions on ne peu plutôt dire ceux que nous voulons ? Ca ma l'air plus simple, dite moi si je me trompe.
cs_djmaster Messages postés 28 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 12 mai 2008
18 sept. 2005 à 19:39
Perso, j'aurais mis du CSS, au pour allégé un peu le code, car c'est un peut le chantier là. :s
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
15 sept. 2005 à 21:38
Lieber Stayve, je crois qu'on a tous fait une fois un upload dans sa vie ici (enfin, je parles pour ceux qui ont commentés), et on a tous réfléchis à la sécuritée, on sait aussi tous lire !
stayve Messages postés 4 Date d'inscription mercredi 10 novembre 2004 Statut Membre Dernière intervention 26 septembre 2005
14 sept. 2005 à 23:13
Avis au amateur :

tester ce script avant de mettre des commentaires bidon merci :)
(ne le prend pas pour toi "coucou747 ")

cependant je suis ouvert a toute suggestion concernant la securité,
bug .....
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
14 sept. 2005 à 19:42
moi j'ai pas dis que ça avait un interet, juste qu'on ne devais pas interdire selon l'extention, car elle n'était pas représentative du fichier...
un .gz est une archive, comme un zip, elle n'est aparement pas dangereuse...

on peut cependant faire exécuter un .exe sur plein de serveurs, l'essentiel, c'est de trouver le chemin, ou de passer un .exe dangereux, quand d'autres ne sont pas accèssibles...
Isoth0p Messages postés 42 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 15 septembre 2005
14 sept. 2005 à 16:18
pourquoi tu interdis le gz ? pourquoi tu n'interdis pas le bat ? quel est l'interet d'interdir un msi ou un exe (au meme titre qu'un bat). le serveur ne l'executera pas ... puis en passant phtml ça reste une extension de php. shtml autorise les ssi. tu peux meme trouver l'extension php5 puis phpx.

vire un peu tout ce HTML et fais du menage là dedans ! arrete de bosser en mode wysiwyg !
stayve Messages postés 4 Date d'inscription mercredi 10 novembre 2004 Statut Membre Dernière intervention 26 septembre 2005
14 sept. 2005 à 15:26
Correction effecter pour les extensions interdites
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
13 sept. 2005 à 22:03
on a vu plus crade, il manque quelques if isset, mais à part ça, il n'y a pas grand chose qui me choque...
Isoth0p Messages postés 42 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 15 septembre 2005
13 sept. 2005 à 21:49
define('MAX_FILE_SIZE_FILE_UPLOAD', '50000' ); //soit 50 Ko

ça ne fait pas 50ko... plutot 48 je pense
Isoth0p Messages postés 42 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 15 septembre 2005
13 sept. 2005 à 21:47
pourquoi il y a plus de HTML que de PHP ? je trouve le code beaucoup trop crade... ta source est plutot... très moyenne. bonne continuation.
4/10
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
13 sept. 2005 à 21:44
salut,
les vérifications de types en fonction de l'extention sont à éviter pour la simple raison qu'on peut (parfois/souvent) faire exécuter ces codes, soit par un include dans une autre page (en changeant les paramètres de l'url généralement) soit en passant par un CGI ou autre exécutable...

$extension = substr($_FILES['file_'.$nb]['name'] , -4 ) ;

si je nommes mon fichier .php5, .php3 ou .php4, il passe ! il passe parceque la, tu ne prends que les 4 dèrnières lettres, et ton tableau est donc mauvais...

et tu fais comment pour interdire un /tar.gz ? ou un .htacces ??? tu ne peux pas, et en uploadant un fichier php renommé et un .htaccès, on peut exécuter le fichier php renomé et faire alors bcp de dégats !
Rejoignez-nous