UN UPLOAD SIMPLE MAIS QUI FONCTIONNE CHEZ FREE

cs_cladx Messages postés 30 Date d'inscription jeudi 4 novembre 2004 Statut Membre Dernière intervention 1 septembre 2005 - 30 juin 2005 à 14:49
 Utilisateur anonyme - 17 août 2007 à 19:29
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/32435-un-upload-simple-mais-qui-fonctionne-chez-free

Utilisateur anonyme
17 août 2007 à 19:29
Toujours pratique d'avoir un exemple simple, merci
Gallient Messages postés 15 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 7 novembre 2007
10 juil. 2006 à 10:12
Source trouvé ici : http://phpcodeur.net/articles/php/upload/
Héhé
kun00538 Messages postés 9 Date d'inscription vendredi 3 mars 2006 Statut Membre Dernière intervention 10 juin 2006
10 juin 2006 à 00:05
Slt a vous tous

je viens de trouver ce poste je suis a la recherche d'un script d'upload
qui fonctionne depuis au moins 2 jour.

je viens de teste celui ci et je remerci cladx car ce script fonctionne
certe il besoin d'etre adapter au besoin de l'utilisateur mais
il fonction sur ie nestcape et firefox reste a tester sur mozilla linux mais ca
c'est pour bientot.

je suis d'accord avec coucou747 quand a la faille de securite presente mais il suffit
de lire sont tuto et de recup les info de securisation qu'il propose (elle sont vraiment
simple pour faire vite il suffit de controle la hauteur du fichier car seule les img on
une hauteur dixit le tuto de coucou747).

voila c tout merci encore a cladx apres avoir tester au moins 10 source du forum j'ai enfin trouve
ce qu'il me faut

bonne soire a tous
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 1
21 mai 2006 à 20:46
alors la BRAVO ! 10/10 !
La seule source que j'ai trouvée qui marche !!!

un grand merci
alainbon Messages postés 3 Date d'inscription mercredi 12 octobre 2005 Statut Membre Dernière intervention 19 octobre 2005
19 oct. 2005 à 20:46
1/J'ai testé, ce code ne peut pas marcher tel quel!

Si le dossier dans lequel on veut télécharger les fichiers s'appelle "avatar"

A la ligne 14 du code, il faut remplacer
$content_dir = '/avatar';
par
$content_dir = realpath("avatar").'/';

2/ après cette correction, ça marche, mais bon si un fichier de même nom est déjà présent sur le serveur, ça le remplace. Il serait plus prudent de faire une vérif avec un "file_exists" (cf doc php) pour ne l'écraser qu'après un message de confirmation.

3/Coucou747, tu vas un peu vite ... la faille n'est pas aussi grosse que ton message semble le faire penser.
$_FILES['fichier']['type'] retourne le type MIME du fichier fourni par le navigateur donc le quidam moyen ne pourra pas rentrer par erreur un fichier php ou html avec une extension jpg (j'ai testé avec ce code).
Maintenant pour les hackers, il faudra transformer le type MIME renvoyé par le navigateur. ça je sais pas quel niveau il faut mais ce doit pas être tout à fait débutant (ton avis m'intéresse).

4/(Résumé du 3)
Ce code est suffisant pour éviter les erreurs des visiteurs, mais pour contrer les hackers non débutants, suivez les conseils de Coucou :
- A priori, selon mes recherches sur le web, on peut faire assez confiance au "getimagesize" (jusqu'à preuve du contraire...)
- Mais pour éviter cette interrogation à laquelle je ne sais répondre : peut-on absolument faire confiance au "getimagesize"?, le plus sûr est de ne permettre l'upload de fichier que dans un espace authentifié.
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
2 sept. 2005 à 11:59
je ne parlais pas de ça :

souvent dans un site, t'as un menu, et t'inclue des pages html (dont t'as retiré le header et le /body /html) pour faire des articles, dans un CMS, t'inclue les plugins, t'inclue un fichier de conf, et parfois, les fichiers inclus sont des variables passés en GET, donc, la, tu changes le GET, et tu fais exécuter ton .jpg, et tu bouzilles le site en entier avec une faille comme ça !
MyXiLo Messages postés 57 Date d'inscription vendredi 21 mai 2004 Statut Membre Dernière intervention 28 juillet 2006
2 sept. 2005 à 01:44
Ca implique de pouvoir modifier un script php sur le serveur... Si tu arrives ce genre de choses je ne vois pas l'interet d'inclure un script prealablement uploade.
Par contre un fichier uploade rendu accessible par un script "defaillant", disons, me semble plus a la portee du premier venu.

Bref, tout ca pour dire que la verification de l'extension me semble une bonne chose.
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
28 août 2005 à 12:20
souvent, t'as des includes dans les sites web (pour inclure des pages web, des plugins...) et donc, on peut inclure un .jpeg dans un .php
include('a.jpeg') et il sera interprété comme un .php

marrant non ?
MyXiLo Messages postés 57 Date d'inscription vendredi 21 mai 2004 Statut Membre Dernière intervention 28 juillet 2006
27 août 2005 à 17:55
Admettons que le type envoie un fichier php qui contienne veritablement du php, admettons que l'utilisateur en question puisse ensuite(par une manipulation malhonette ou a cause d'une defaillance du script d'upload) acceder a ce fichier. Le serveur executera le script php en question.

Maintenant si l'individu envoie un fichier jpg avec un contenu php le serveur n'executera pas le contenu en tant que php mais envera le fichier image au client.

En verifiant l'extension le fichier sera peut etre corrompu mais il n'y a pas, a priori, de pb de securité.

C'est du moins ce que je pense.
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
25 août 2005 à 19:19
un programme PHP peut avoir l'extention .jpg...

une erreur dans l'extention : ici, une simple page html avait l'extention php...
MyXiLo Messages postés 57 Date d'inscription vendredi 21 mai 2004 Statut Membre Dernière intervention 28 juillet 2006
25 août 2005 à 18:17
(Pour coucou747: Il est evident qu'il faut faire une vérification de l'extension. Personnes censees ou non... Il arrive à tout le monde de faire des erreurs. Je ne vois pas en quoi c'est une faute que de le verifier, au contraire.

En ce qui concerne la source, en effet elle est archi recurrente et peche par sa non rigueur)
wizard512 Messages postés 459 Date d'inscription dimanche 9 janvier 2005 Statut Membre Dernière intervention 11 mai 2013 2
1 juil. 2005 à 12:32
jsui d'acco a se niveau la coucou747
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
1 juil. 2005 à 11:48
c'est un détail, parfois, on préfère faire deux fichiers, ce qui théoriquement est plus rapide d'exécution, mais c'est vrai que pour un site bien complet, c'est assez lourd de programmer dans 200 fichiers...

index.php devrait être remplacé par index.html, si on n'a pas de php, autant l'apeler html pour éviter une étape de parsage...
wizard512 Messages postés 459 Date d'inscription dimanche 9 janvier 2005 Statut Membre Dernière intervention 11 mai 2013 2
1 juil. 2005 à 11:42
mais pour fais 2 fichiers au lieu d'un tu peux tré bien placer Upload.php dans le meme fichier que ton formulaire apré le formulaire et avec les isset() c niquel...

ten pense koi???
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
1 juil. 2005 à 11:26
merci
cs_cladx Messages postés 30 Date d'inscription jeudi 4 novembre 2004 Statut Membre Dernière intervention 1 septembre 2005
30 juin 2005 à 22:16
tu a bien raison c'est un source presque entierement pomper sur un tuto prochain couo j'essayerai de ne pas decevoir
:x
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
30 juin 2005 à 16:26
quand on n'a pas de solution, on va dans le forum, mais on ne poste pas...

je n'ai pas fait de vérifications de types pour les uploads car j'ai toujours considéré que les personnes qui uploadaient étaient des gens sencés (en clair : il faut un mdp pour uploader sur mon site...)

mais j'ai fait un truc pour les reconnaissances d'images pour un album photo :
list($x1, $y1, $type, $n) = getimagesize($f);
$t = array(false, 'GIF','Jpeg','PNG','WBMP');

le type est $t[$type], les dimentions sont ($x1, $y1)

voila, au plaisir de te voir poster une meilleur source la prochaine fois...
cs_cladx Messages postés 30 Date d'inscription jeudi 4 novembre 2004 Statut Membre Dernière intervention 1 septembre 2005
30 juin 2005 à 15:51
que propose tu a la place :p
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
30 juin 2005 à 14:54
Vas voir ma soure : tuto sécuritée upload...

Cette source est déja présente en plein d'exemplaires différents et tu refais les erreurs des autres programmeurs qui vérifient l'extention !

Tu n'as rien inventé, et tu proposes une faille de sécuritée énorme !

En mettant un name au bouton d'upload, tu surcharge un peu la requette (on n'est pas à quelques octets près...) tu utilises parfois de simples guillemets, parfois des doubles, ce n'est pas super rigoureux...
cs_cladx Messages postés 30 Date d'inscription jeudi 4 novembre 2004 Statut Membre Dernière intervention 1 septembre 2005
30 juin 2005 à 14:49
j'attend vos commentaire plz , je c'est que ce n'est pas une source spectaculaire mais bon je debute
Rejoignez-nous