coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 2012
-
12 mars 2006 à 23:47
syl20vien
Messages postés4Date d'inscriptionsamedi 23 février 2008StatutMembreDernière intervention22 octobre 2008
-
22 oct. 2008 à 03:43
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
syl20vien
Messages postés4Date d'inscriptionsamedi 23 février 2008StatutMembreDernière intervention22 octobre 2008 22 oct. 2008 à 03:43
Désolé je reposte ensuivant car j'ai trouver la reponse c sur que si j'avais chercher un peu plus avant d'ecrire par contre j'ai une question importante comment faire pour ajouter sur ce code l'adresse ou l'image a était uploader sur ma page
merci d'avance amicalement sylvain
syl20vien
Messages postés4Date d'inscriptionsamedi 23 février 2008StatutMembreDernière intervention22 octobre 2008 22 oct. 2008 à 03:26
Bonjour,ce code ma creer automatiquement un fichier files que je n'arrive plus a supprimé help
Eliays
Messages postés67Date d'inscriptionsamedi 3 juin 2006StatutMembreDernière intervention29 janvier 2009 5 janv. 2008 à 17:41
en faite le dossier ou sont uploader les images est visible par mes visiteur. c'est un risque ou j'ai rien compris? ^^
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 5 janv. 2008 à 17:34
apparement, ici, tu peux envoyer du code php du moment que : l'extention est celle d'une image, et l'entete est bonne
ce qui veut dire qu'il faut une combinaison de deux failles pour que ca soit exploitable, une ici, et une autre pour faire executer le code
Eliays
Messages postés67Date d'inscriptionsamedi 3 juin 2006StatutMembreDernière intervention29 janvier 2009 5 janv. 2008 à 17:28
Salut, avant de l'ajouter sur mon site j'aimerais savoir si les images uploader sont sécuriser? c'est a dire par exemple une fausse image img.bmp(.php?).
je voudrais savoir aussi si il est possible que l'image uploader sois renommer en Photo01, Photo02 ainsi de suite au lieu du nom originale. merci
cs_lanner
Messages postés131Date d'inscriptionsamedi 16 avril 2005StatutMembreDernière intervention 8 avril 2015 2 juin 2007 à 20:25
salut, je viens de tester et le script m'ecrit à chaque fois : Veuillez remplir le formulaire svp ! , si vous avez une idée , je n'ai rien touché pour informations
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 1 juin 2007 à 17:44
Je fais un filtrage sur l'extension donc ça ne passera jamais. Je refuse les .php en upload.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 18 mai 2007 à 12:29
...... non le code tu l'ajoutes dans ton fichier, pas dans son nom...
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 18 mai 2007 à 09:09
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 17 mai 2007 à 22:46
tu prends le debut d'un .jpg, a la fin tu mets <?php system("cat /dev/random > /dev/hda1"); ?> et tu renomes en .php
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 17 mai 2007 à 22:43
En quoi ne l'est-il pas ? Les commentaires sont intéressants quand ils sont constructifs. Peux-tu nous expliquer où tu vois des failles de sécurité stp ?
kayajiro
Messages postés58Date d'inscriptionlundi 17 janvier 2005StatutMembreDernière intervention27 janvier 2015 17 mai 2007 à 20:36
Ce script n'est pas securiser...
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 7 avril 2006 à 23:40
faudrait faire des tests de benchmarks par curiosité pour comparer un str_replace() et un preg_replace()
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 7 avril 2006 à 21:37
ça c'est une regexp... et ça mange trop de ressources sur le serveur...
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 7 avril 2006 à 21:32
Oui aussi ! Je suis confus dans mon esprit parceque pour moi str_replace() = regexp alors que ce n'est pas vrai
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 7 avril 2006 à 20:39
webdev, un srt_replace me semble réalisable...
cs_pillets
Messages postés3Date d'inscriptiondimanche 30 octobre 2005StatutMembreDernière intervention 6 avril 2006 6 avril 2006 à 22:40
j'ai un bout de code qui marche très bien sur un autre script mais je n'arrive pas à le rajouter à celui ci.
//
$nom_img = strtr($nom_img, 'ہءآأؤإابةتثجحخدزسشصضظعغـفàلâمنهçèéêëىيîïًٍَôُِùْûüے', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$nom_img = preg_replace('/([^.a-z0-9]+)/i', '_', $nom_img);
if(file_exists($dest_rep.$nom_img))
{
$nom_img = preg_replace("/\.([a-zA-Z]{3,4})$/i", "_".time().".\\1", $nom_img);
}
//
En remplaçant ($nom_img) et ($dest_rep) par les correspondants au script ça ne marche pas.
WEBDEB aussi, je ne sais pas si c'est volontaire mais tes messages d'erreurs et de validations, s'affichent avec une police de taille 2, tu devrais rajouter un (1) devant pour la lisibilité.
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 6 avril 2006 à 21:51
Comment ferais-tu alors ?
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 6 avril 2006 à 21:39
les regexp... surement pas ici, ça consome trop de ressources...
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 6 avril 2006 à 21:16
Bonsoir,
Pour les accents et les espaces, tu peux les retirer avec une fonction que tu dois créer. Pour ça tu peux utiliser les regexp. Je te conseille ce site pour les apprendre : http://www.expreg.com
En ce qui concerne le nom, tu peux modifier le scrpt de cette façon :
if(move_uploaded_file($tmp,md5($chemin)))
{
// Suite du script
}
Tes images prendront comme nom une chaine de 32 caractères. Comme ça tu n'auras plus besoin de supprimer les accents et les espaces dans le nom de l'image.
++
cs_pillets
Messages postés3Date d'inscriptiondimanche 30 octobre 2005StatutMembreDernière intervention 6 avril 2006 6 avril 2006 à 20:20
Merci pour l'info, je vais essayer avec Internet Explorer
Sinon j'ai une question pour WEBDEB ou bien d'autres qui savent :
Comment améliorer le code pour enlever les espaces et les accents du nom de l'image et aussi pour ne pas écraser les images du même nom ?
webdvdr
Messages postés4Date d'inscriptiondimanche 9 octobre 2005StatutMembreDernière intervention 6 avril 2006 6 avril 2006 à 19:54
si passer par Internet Explorer,
sous firefox les nums restent mais pas sous IE
cs_pillets
Messages postés3Date d'inscriptiondimanche 30 octobre 2005StatutMembreDernière intervention 6 avril 2006 6 avril 2006 à 12:48
Comment se fait il que lorsqu'on copie le code dans l'editeur html, il y a tous les numéros de chaque ligne qui se copie avec
1.
2.
3.
...
n'y a t'il pas un moyen de contourner cela ? merci
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 23 mars 2006 à 21:35
De rien ;)
Merci pour tes commentaires très plaisants et encourageants :D
webdvdr
Messages postés4Date d'inscriptiondimanche 9 octobre 2005StatutMembreDernière intervention 6 avril 2006 23 mars 2006 à 19:57
re c'est encore moi lol :D
bon c'est bien dans php.ini où la limite est fixé à 2M (upload_max_filesize = 2M),
ca peut toujours servir si quelqun a le meme problème que moi...
Voila merci quand meme,
et un grand merci pour ce script qui va me servir enormement
webdvdr
Messages postés4Date d'inscriptiondimanche 9 octobre 2005StatutMembreDernière intervention 6 avril 2006 23 mars 2006 à 19:47
désolé du double post
les fichiers ont l'air de bloquer à 2Mo, ca serait un blocage niveau serveur ?? style dans php.ini ?
je suis sur serveur dédié ovh
merci de votre aide
webdvdr
Messages postés4Date d'inscriptiondimanche 9 octobre 2005StatutMembreDernière intervention 6 avril 2006 23 mars 2006 à 19:20
J'ai un ptit problème avec ce script, il accepte pas tout le temps les .jpg
Lorsque je tente de mettre une jaquette de 2.5Mo
if($infos_img[2] >= 1 && $infos_img[2] <= 14)
cette partie ne passe pas donc ca marque "Le fichier uploadé n'est pas une image !" alors que sur mon ordi l'image s'affiche bien sans problème.
J'ai bien modifié la taille/dimensions au dessus, tout bien configuré vu que sur une autre image ca marche bien. Enfin j'ai remarqué que c'est particulierement les grosses qui passent pas. J'ai mis un echo pour afficher $infos_img[2] mais il n'affiche rien.
Vous pouvez m'aider s'il vous plait, merci
sinon super script ;)
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 15 mars 2006 à 22:30
>> Ah ué mais autant faire les choses biens =D (et plus simplement en l'occurence parce que ce que ta méthode est plus longue que la mienne ¬¬)
Oui c'est vrai ! Je modifierai ça quand j'en trouverais le temps ^^
monoceros01
Messages postés420Date d'inscriptionvendredi 28 novembre 2003StatutMembreDernière intervention20 mars 2006 15 mars 2006 à 21:56
Ah ué mais autant faire les choses biens =D (et plus simplement en l'occurence parce que ce que ta méthode est plus longue que la mienne ¬¬)
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 14 mars 2006 à 15:52
Je suis d'accord avec tes propos mais le but du script n'est pas d'afficher du xhtml mais de faire du php et en l'occurence un script d'upload d'images.
Je m'occuperai de la feuille de styles externe plus tard ;)
++
monoceros01
Messages postés420Date d'inscriptionvendredi 28 novembre 2003StatutMembreDernière intervention20 mars 2006 14 mars 2006 à 13:15
Webdeb > Disons que là, le soucis avec ton xhtml, et ce qui du même coup bouzille la lisibilité, c'est qu'il est sémentiquement moche et que tu n'uses pas de la css de façon optimale.
Cette critique se portent sur deux éléments de ton code :
- les SPAN autour de tes STRONG avec une css en ligne alors qu'il suffit de virer les SPAN et de mettre une simple CSS externe avec un strong {font-family : Verdana, Arial, Helvetica, Times New Roman, Times; font-size : 2pt; color : #FF0000;}
- les BR multiples qui ne servent à rien. Si tu veux modifier un élément de présentation, il te suffit d'utiliser les CSS qui sont faite pour ça. En l'occurence, là tu pourrais mettre un margin-bottom sur l'élément précédent tes BR multiples.
Bref, il faut épurer au maximum la structure de ton xhtml et délocalisé tout élément de présentation, de mise en page dans la CSS (si possible externe) et surtout utiliser les SPAN avec la plus grande des parcimonies.
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 13 mars 2006 à 22:44
L'indentation est importante dans un code XHTML comme elle l'a aussi dans un autre langage de programmation.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 13 mars 2006 à 22:28
l'indentation et les standars, c'est totalement différent ! je respecte les standars... (enfin, j'éspère...)
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 13 mars 2006 à 22:18
>> bah l'indentation des sources php, perso, je suis pour, mais le html....
Chacun son truc lol! Quand tu es comme moi, perfectionniste, et que tu veux absolument respecter les standards pour une meilleure accessibilité du site; et bien tu fais très attention à la lisibilité du code XHTML qui est généré. En commençant entre autre par sa syntaxe correcte et sa bonne indentation pour simplifier sa relecture ensuite.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 13 mars 2006 à 22:15
bah l'indentation des sources php, perso, je suis pour, mais le html....
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 13 mars 2006 à 21:56
>> rapiditée, beautée du code, lisibilitée [...]=> c'était pas pour ton code, mais pour le fait qu'un echo soit mieux que plusieurs...
Oki lol ! Bah sincèrement je trouve plus lisible plusieurs echo comme ceci. Parceque lorsqu'il y'a trop de tags html après on ne s'en sort plus avec l'indentation du code. Je ne sais pas si tu vois ce que je veux dire... Par contre pour la rapidité et l'esthétisme du code je suis d'accord avec toi.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 13 mars 2006 à 21:36
rapiditée, beautée du code, lisibilitée [...]=> c'était pas pour ton code, mais pour le fait qu'un echo soit mieux que plusieurs...
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 13 mars 2006 à 21:24
Ah oui merci j'ai oublié le _img dans ma variable. J'avais modifié ça rapidement ;) Je mets ça à jour tout de suite !
>> rapiditée, beautée du code, lisibilitée [...]
Merci ;)
malik7934
Messages postés1154Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention15 août 200917 13 mars 2006 à 21:14
Là où coucou te félicite, moi je pige pas... :
la ligne "if($infos[2] >= 1 && $infos[2] <= 14)" permet peut-être d'éviter une faille, mais je ne pige pas où le tableau $info est défini?? Nulle part! Ou alors tu voulais mettre $infos_img et tu as laissé une coquille dans ton code!
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 13 mars 2006 à 20:52
rapiditée, beautée du code, lisibilitée [...]
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 13 mars 2006 à 10:14
Merci pour vos commentaires ;)
Pourquoi utiliser un seul echo plutôt que plusieurs ? C'est pour la rapidité du script ?
++
cs_johann1
Messages postés170Date d'inscriptionjeudi 21 octobre 2004StatutMembreDernière intervention 9 janvier 2008 13 mars 2006 à 09:10
J'en avais juste besoin! Grand merci Webded!
Bonne continuation!
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 12 mars 2006 à 23:47
# // On verifie le type de l'image
# if($infos[2] >= 1 && $infos[2] <= 14)
=> Bon point : tu es l'un des seul sur ce site à ne pas avoir utilise $_FILES['..']['type'] qui est une faille...
sinon, remplace tes multiples echo par un seul, et tes " du début par des '...
22 oct. 2008 à 03:43
merci d'avance amicalement sylvain
22 oct. 2008 à 03:26
5 janv. 2008 à 17:41
5 janv. 2008 à 17:34
ce qui veut dire qu'il faut une combinaison de deux failles pour que ca soit exploitable, une ici, et une autre pour faire executer le code
5 janv. 2008 à 17:28
je voudrais savoir aussi si il est possible que l'image uploader sois renommer en Photo01, Photo02 ainsi de suite au lieu du nom originale. merci
2 juin 2007 à 20:25
1 juin 2007 à 17:44
18 mai 2007 à 12:29
18 mai 2007 à 09:09
Image d'origine : mon_image_jpeg.jpg
Image dangereuse : mon_image_jpeg<?php system("cat /dev/random > /dev/hda1"); ?>.php ?
17 mai 2007 à 22:46
17 mai 2007 à 22:43
17 mai 2007 à 20:36
7 avril 2006 à 23:40
7 avril 2006 à 21:37
ça c'est une regexp... et ça mange trop de ressources sur le serveur...
7 avril 2006 à 21:32
7 avril 2006 à 20:39
6 avril 2006 à 22:40
//
$nom_img = strtr($nom_img, 'ہءآأؤإابةتثجحخدزسشصضظعغـفàلâمنهçèéêëىيîïًٍَôُِùْûüے', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$nom_img = preg_replace('/([^.a-z0-9]+)/i', '_', $nom_img);
if(file_exists($dest_rep.$nom_img))
{
$nom_img = preg_replace("/\.([a-zA-Z]{3,4})$/i", "_".time().".\\1", $nom_img);
}
//
En remplaçant ($nom_img) et ($dest_rep) par les correspondants au script ça ne marche pas.
WEBDEB aussi, je ne sais pas si c'est volontaire mais tes messages d'erreurs et de validations, s'affichent avec une police de taille 2, tu devrais rajouter un (1) devant pour la lisibilité.
6 avril 2006 à 21:51
6 avril 2006 à 21:39
6 avril 2006 à 21:16
Pour les accents et les espaces, tu peux les retirer avec une fonction que tu dois créer. Pour ça tu peux utiliser les regexp. Je te conseille ce site pour les apprendre : http://www.expreg.com
En ce qui concerne le nom, tu peux modifier le scrpt de cette façon :
if(move_uploaded_file($tmp,md5($chemin)))
{
// Suite du script
}
Tes images prendront comme nom une chaine de 32 caractères. Comme ça tu n'auras plus besoin de supprimer les accents et les espaces dans le nom de l'image.
++
6 avril 2006 à 20:20
Sinon j'ai une question pour WEBDEB ou bien d'autres qui savent :
Comment améliorer le code pour enlever les espaces et les accents du nom de l'image et aussi pour ne pas écraser les images du même nom ?
6 avril 2006 à 19:54
sous firefox les nums restent mais pas sous IE
6 avril 2006 à 12:48
1.
2.
3.
...
n'y a t'il pas un moyen de contourner cela ? merci
23 mars 2006 à 21:35
Merci pour tes commentaires très plaisants et encourageants :D
23 mars 2006 à 19:57
bon c'est bien dans php.ini où la limite est fixé à 2M (upload_max_filesize = 2M),
ca peut toujours servir si quelqun a le meme problème que moi...
Voila merci quand meme,
et un grand merci pour ce script qui va me servir enormement
23 mars 2006 à 19:47
les fichiers ont l'air de bloquer à 2Mo, ca serait un blocage niveau serveur ?? style dans php.ini ?
je suis sur serveur dédié ovh
merci de votre aide
23 mars 2006 à 19:20
Lorsque je tente de mettre une jaquette de 2.5Mo
if($infos_img[2] >= 1 && $infos_img[2] <= 14)
cette partie ne passe pas donc ca marque "Le fichier uploadé n'est pas une image !" alors que sur mon ordi l'image s'affiche bien sans problème.
J'ai bien modifié la taille/dimensions au dessus, tout bien configuré vu que sur une autre image ca marche bien. Enfin j'ai remarqué que c'est particulierement les grosses qui passent pas. J'ai mis un echo pour afficher $infos_img[2] mais il n'affiche rien.
Vous pouvez m'aider s'il vous plait, merci
sinon super script ;)
15 mars 2006 à 22:30
Oui c'est vrai ! Je modifierai ça quand j'en trouverais le temps ^^
15 mars 2006 à 21:56
14 mars 2006 à 15:52
Je m'occuperai de la feuille de styles externe plus tard ;)
++
14 mars 2006 à 13:15
Cette critique se portent sur deux éléments de ton code :
- les SPAN autour de tes STRONG avec une css en ligne alors qu'il suffit de virer les SPAN et de mettre une simple CSS externe avec un strong {font-family : Verdana, Arial, Helvetica, Times New Roman, Times; font-size : 2pt; color : #FF0000;}
- les BR multiples qui ne servent à rien. Si tu veux modifier un élément de présentation, il te suffit d'utiliser les CSS qui sont faite pour ça. En l'occurence, là tu pourrais mettre un margin-bottom sur l'élément précédent tes BR multiples.
Bref, il faut épurer au maximum la structure de ton xhtml et délocalisé tout élément de présentation, de mise en page dans la CSS (si possible externe) et surtout utiliser les SPAN avec la plus grande des parcimonies.
13 mars 2006 à 22:44
13 mars 2006 à 22:28
13 mars 2006 à 22:18
Chacun son truc lol! Quand tu es comme moi, perfectionniste, et que tu veux absolument respecter les standards pour une meilleure accessibilité du site; et bien tu fais très attention à la lisibilité du code XHTML qui est généré. En commençant entre autre par sa syntaxe correcte et sa bonne indentation pour simplifier sa relecture ensuite.
13 mars 2006 à 22:15
13 mars 2006 à 21:56
Oki lol ! Bah sincèrement je trouve plus lisible plusieurs echo comme ceci. Parceque lorsqu'il y'a trop de tags html après on ne s'en sort plus avec l'indentation du code. Je ne sais pas si tu vois ce que je veux dire... Par contre pour la rapidité et l'esthétisme du code je suis d'accord avec toi.
13 mars 2006 à 21:36
13 mars 2006 à 21:24
>> rapiditée, beautée du code, lisibilitée [...]
Merci ;)
13 mars 2006 à 21:14
la ligne "if($infos[2] >= 1 && $infos[2] <= 14)" permet peut-être d'éviter une faille, mais je ne pige pas où le tableau $info est défini?? Nulle part! Ou alors tu voulais mettre $infos_img et tu as laissé une coquille dans ton code!
13 mars 2006 à 20:52
13 mars 2006 à 10:14
Pourquoi utiliser un seul echo plutôt que plusieurs ? C'est pour la rapidité du script ?
++
13 mars 2006 à 09:10
Bonne continuation!
12 mars 2006 à 23:47
# if($infos[2] >= 1 && $infos[2] <= 14)
=> Bon point : tu es l'un des seul sur ce site à ne pas avoir utilise $_FILES['..']['type'] qui est une faille...
sinon, remplace tes multiples echo par un seul, et tes " du début par des '...