UPLOAD MULTIPLE PHP/JAVASCRIPT EN 36 LIGNES DE CODE

Signaler
Messages postés
35
Date d'inscription
mardi 7 novembre 2006
Statut
Membre
Dernière intervention
18 septembre 2009
-
 julien0298 -
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/50811-upload-multiple-php-javascript-en-36-lignes-de-code

Niveau sécurité, c'est pas top!
Mais je trouves que pour un débutant c'est pas mal du tout
Bons courage!
Messages postés
239
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
20 avril 2009

Les expressions regulieres ne sont pas si compliquees mais si tu t'y lances, je te conseille de miser sur "les expression regulieres compatible PERL" (PCRE) plutot que les expressions regulieres POSIX (c'est celles que j'utilise, mais qui sont plus limitees et plus lentes que les PCRE... donc ne fait pas comme moi :o) ).
Messages postés
35
Date d'inscription
mardi 7 novembre 2006
Statut
Membre
Dernière intervention
18 septembre 2009

Merci beaucoup, Lefauve42, pour toutes ces précisions, notamment la possibilité de réduire les images avec GDLib, que je vais étudier dès que possible.
En ce qui concerne les expressions régulières, je dois dire que je n'y connais rien, et que j'hésite à m'y lancer, vu le nombre d'autres choses qu'il faut avoir en tête par ailleurs...
Merci en tous cas. C'est encourageant.
Richard
Messages postés
239
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
20 avril 2009

Salut,

Ce n'est pas si terrible que ce que disent les commentaires, mais vu le nombre de lignes, je pense que tu as du améliorer le source original :o) .

Pour ce qui est de la securite, vu que tu n'acceptes que des images, ce n'est pas si critique que ca.
Le plus sur, selon ce que tu veux faire avec les fichiers uploades, c'est de les mettre dans un repertoire non accessible aux clients web. Si ton hebergeur ne le permet pas, il est toujours possible d'ajouter un .htaccess interdisant cet access pour tout le contenu du repertoire.

Petite remarque: Pour accepter toutes les images, tu peux simplifier ton code avec les expressions regulieres. Ca donne un truc genre :
if(ereg('^image/',$typ))
{
if(move_uploaded_file($_FILES['srcfic']['tmp_name'][$x],"$destin/$nom")) // si tout s'est bien passé
{
echo "Le fichier "" . $_FILES['srcfic']['name'][$x] . "" a été correctement envoyé ";
echo "dans le dossier "$destin/"

";
chmod("$destin/$nom",0644);
}
else // sinon (case restée vide, ou fichier pas passé...)
{
if ($nom=="") $nom = "Fichier_Inconnu";
echo "Désolé, je n'ai pas pu envoyer le fichier "$nom" dans le dossier "$destin/" !

";
}
}
else // par défaut: rejeter les fichiers autres qu'images
{
echo "
Fichier "$nom" d'un type incorrect

";
}

Une autre remarque: Le resultat du mime type des fichiers uploades peut varier avec le navigateur utilise. Ca devrait marcher avec les images, mais j'ei deja eu des problemes par le passe avec par exemple les .gz qui n'ont pas le meme type si envoyes avec firefox ou ie.

Sinon j'ai ecrit un script du meme genre (mais specialise pour les images) et plutot que de rejeter les images trop grosses, j'utilisais GDLib pour reduire leur taille avant de les enregistrer. Ce n'est pas si complique si tu te limites aux images gerees par la GDLib (en gros, si tu ne geres pas les BMP).

Eric
Afficher les 16 commentaires