8741 sujets

Développement web côté serveur, CMS

Pages :
Bonjour,
Suite à mon projet de création d'une banques d'images et de photos,
je souhaite en savoir un peu plus sur les risques à connaitre, les erreurs à ne pas faire...etc
Pour un script d'upload d'images, autorisant l'upload des 4 formats cités dans le titre.

Mes inquiétudes se portent surtout sur le format .psd ...
Est il dangeraux de permettre à n'importe quel membre d'uploader ce type de fichier, à savoir que je vais le télécharger pour valider ou pas la création dans la banque d'images, et que si je valide de nombreuses personnes téléchargeront peut-être ce fichier.

Pourriez vous répondre à mes inquiétudes SVP ?

à +
Modifié par Graph-Site (05 Aug 2005 - 19:39)
Je ne vois ce que tu risques... tu pensais à quoi ?

Tu pourrais par contre uploader les images, les convertir toutes en PNG par exemple, pour uniformiser le tout avant de les mettre en téléchargement.

C'est très simple à faire, tu trouveras de nombreux scripts pour ça sur le net.
Le seul soucis que je vois dans tes fichiers au format PSD, c'est qu'un utilisateur de Photoshop pourraît avoir accès à l'ensemble du fichier (je pense entre autres aux différents calques) et donc modifier le dessin...

Enfin quand je dis soucis, c'est uniquement par rapport au contenu qu'aura fait le "graphiste" qui risque donc de voir son travail piraté par un autre...

Reste donc à protéger le répertoire sur lequel se fera l'upload et qui sera naturellement différent de celui du public du site...

L'idée de 84mickael sera alors la bonne avant la mise en ligne publique...

Reste juste à savoir ensuite si tu veux servir de serveur (désolé pour le doublon Smiley cligne ) de sauvegarde de fichiers PSD pour ton graphiste et lui permettre de récupérer ses fichiers au format initial...
Merci pour vos réponses...
En fait je m'inquiète un peu car je ne connais pas vraiment le format psd, et je voulais être sur quil n'y ai pas de possibilité de dtourné ce format pour faire de petits virus par exemples...j'espère ne pas passer trop pour un c*n, mais bon, je préfère être prudent, il vaut mieux prévenir (quitte à être parano ^_^) que guérir...

Sinon, le problème que vous évoquez n'est pas du tout un problème pour moi, et il n'est pas question que je propose uniquement un png par exemple.
En effet, chaque image pourra être ainsi au format le plus adapté : un photo : en jpeg, un clipart avec peu de couleurs : en gif, un design non découpé, nécessitant une qualité optimal : en png ou alors en psd si l'auteur accèpte de rendre son travail libre de droits.
Donc comme vous le voyez, ces différents formats permettront d'économiser de la place sur le serveur, tout en ayant une qualité optimal des images (imaginez que toutes les photos soient en png, il me faudrait alors me payer un serveur dédié...et à 16 ans, je n'ai pas les moyens...)

Merci bien pour votre aide, je vais donc pouvoir commencer la programmation...plusieurs heures (plutôt plusieurs jours d'ailleurs) de prise de tête m'attente Smiley cligne

@ +
Jamais entendu parlé de virus avec une extension .PSD. (.jpg.exe ou .psd.exe en revanche oui, mais ça n'a rien à voir Smiley rocket )

Ce ne sont pas des fichiers exécutables (comme un .EXE) ni de script comme peut l'être un fichier word avec des virus de macros ou de VBA par exemple...

En les lançant, la seule chose qui se passe, c'est l'ouverture de Photoshop ou d'un autre logiciel capable de charger une image de ce format, ou l'ouverture d'une boîte de dialogue pour associer le fichier à un programme (au moins sous Windows).

Enfin AMHA...
Administrateur
Bonjour,

Il y a un langage de script assez puissant. Manipulation des calques, filtres, saisie utilisateur, ... bien entendu mais j'ignore s'il y a également la possiblité de manipuler des fichiers?

Après visite chez Adobe, Scripting Documentation
le 3ème PDF a un paragraphe intitulé "Executing Javascripts from AS or VBS". Je peux pas le copier-coller mais "do javascript "alert('alert text')" me semble une syntaxe qui se passe de commentaire ... Smiley eek


EDIT: après lecture du post de Bob (MC MElun), les scripts n'accompagent peut-être jamais une image, enfin perso ma macro était sous une autre extension, j'avais oublié cela.
Il reste un risque: enregistrer un script avec l'extension .psd au lieu de celle prévue, Photoshop va l'ouvrir puisque l'extension est reconnue, pensant à une image de travail, et l'exécuter ... Euh ou hurler que c'est pas un format valide, je ne sais pas; à tester.
Modifié par Felipe (05 Aug 2005 - 14:05)
ok, merci encore,
Ja'i fais une nouvelle recherche, mais je n'ai rien trouver à propos de fichiers .psd dangereux...

me voila donc rassuré, allé hop, plus d'excuses, on commence la prog !
Bonjour,

N'importe quel fichier image que tu uploade peut être un "virus" ou un script!
Il suffit d'uploader un fichier php! Avec un nom du genre : monscript.php#.jpg

Jusque maintenat, je n'ai trouvé aucun moyen de vérifier ca... Quelqu'un à une idée? Je planche aussi sur cette question pour le moment.

Merci

a+
Ce n'est pas l'extention finale qui indique à l'ordinateur quoi faire ?

C'est justement pour cela qu'on reçoit des .jpg.exe, vu qu'avec l'option par défaut de windows de cacher les extentions connues, il va cacher .exe et qu'on croira ouvrir un .jpg...

"Visuellement", il se comportera comment ton fichier quand tu le recevras

monscript.php#.jpg
monscript.php#
monscript.php
monscript.jpg

???

De toute façon, il ne peut s'exécuter tout seul que s'il a une extention faite pour... Par contre le jour où tu veux le voir avec un navigateur, là je ne sais pas ce qui se passerais (puisque je ne sais pas comment il est lu par le système niveau extention et donc quelle action il en fera...)

Ca peut peut-être être dangereux si IE ou FF est l'afficheur par défaut des images... Cas vu sur des postes utilisateurs, rarement des serveurs ou des postesdéveloppeurs...

J'ai le chic aujourd'hui pour écrire en réutilisant les mêmes mots : peut peut-être être Smiley biggol
Bob (MC Melun) a écrit :

"Visuellement", il se comportera comment ton fichier quand tu le recevras
monscript.php#.jpg
monscript.php#
monscript.php
monscript.jpg

???

Pour monscript.php#.jpg, c'est très facile! Tu crée un fichier php qui t'envoye par mail le fichier config.php qui contient les identifiant sql par exemple. Puis, à l'aide de php, tu génère une image vide de 100x100px et tu la retourne. Le script d'upload n'y voit que du feu...
Smiley rolleyes On peut même faire un getimagesize puisque ca retourne une image...

c'est ca qui me fait peur...

Edit: Oups, j'ai oublié deux trois truc :
Le sript s'exécutera dès que le site affichera l'image. Ou alors, dès que le gars découvre l'adresse du dossier des images et va exécuter sa page php...
Je dis ca, j'ai jamais essayé de le faire mais je me dit que ca doit marcher. J'ai déjà lu ca quelques part. Je cherche pour le moment comment contrer ce genre de technique... Je pense qu'il faut cherher au niveau du renomamge de fichier...

a+
Modifié par agilis (05 Aug 2005 - 15:42)
@ felipe (sorry, je n'avais pas vu ton message, ayant commencé à répondre avant que tu ne postes) :

a écrit :

après lecture du post de Bob (MC MElun), les scripts n'accompagent peut-être jamais une image, enfin perso ma macro était sous une autre extension, j'avais oublié cela.
Il reste un risque: enregistrer un script avec l'extension .psd au lieu de celle prévue, Photoshop va l'ouvrir puisque l'extension est reconnue, pensant à une image de travail, et l'exécuter ... Euh ou hurler que c'est pas un format valide, je ne sais pas; à tester.

Je crois en effet qu'il va hurler...

@ agilis :
AMHA, tu te trompes :
en effet, c'est la "dernière extension" qui l'emporte (j'ai fais des textes sous xp - moi je ne cache pas les extentiosn si elles sont connues, j'ai horreur de ça Smiley smile )
par exemple, j'appelle un fichier "tralala.txt.php.bmp", et bien ce fichier sera reconnu comme un fichier .bmp

D'autre part j'ai essayé d'ouvrir un fichier nommé : monscript.php#.jpg avec firefox :
a écrit :
L'image « file:///chemin/monscript.php%23.jpg » ne peut être affichée, car elle contient des erreurs.


Donc je crois que de ce côté là il n'y a pas de problèmes...il faudrait peut-être faire des tests en ligne au cas où...

@ +

EDIT : agilis, pour répondre à ton dernier message :
je pense toujours que tu te trompes, puisqu'un fichier nommé "monscript.php#.jpg" est ouvert comme une image...donc il n'y aura pas d'execution de script...
Perso, mon upload sera basée sur ce script : http://www.phpcs.com/code.aspx?id=23326
Modifié par Graph-Site (05 Aug 2005 - 15:48)
Effectivement, t'as raison, j'ai tort...Ca dépend du script d'upload... Avec le mien, ca foire je pense... faudra que je vérifie ca... parce que je fais un explode pour retrouver l'extension. Pas bien tout ca... Mon script est en fait tout à fait capable d'uploader un fichier php... Mais effectivement, si le script est bien fait, il devrait pas avoir de problèmes... Désolé du dérangement. Je me met dans la peau d'un hacker quelques minute spour voir s'il n'y as pas d'autre moyen.

a+ et encore désolé

Edit: L'astuce marche lorsque l'on donne l'adresse de l'image au script (pour un avatr par exemple). Mais elle ne peut pas faire de dégats, juste générer une image... Et s'il y as d'autre scripts avec, il s'exécute sur le serveur du visiteur, pas sur celui du site. Donc c'est bon. Encore désolé Smiley confused
Modifié par agilis (05 Aug 2005 - 15:56)
Graph-Site a écrit :
il faudrait peut-être faire des tests en ligne au cas où...

Oula oui, il faut faire très attention. Par exemple sur un mutualisé d'OVH avec un fichier extension.php.jpg contenant simplement :
<?php echo 'Apparemment ce n\'est pas trop du jpg si ça s\'affiche...'; ?>

on obtient ça... Je crois que c'est dû à leur mod_ort. En gros, dès lors qu'il y a .php dans le nom du fichier il est envoyé vers le parseur PHP.

(dans le test proposé il n'y a aucune influence d'un quelconque .htaccess)
djfeat a écrit :

Oula oui, il faut faire très attention. Par exemple sur un mutualisé d'OVH avec un fichier extension.php.jpg contenant simplement :
<?php echo 'Apparemment ce n\'est pas trop du jpg si ça s\'affiche...'; ?>

on obtient ça... Je crois que c'est dû à leur mod_ort. En gros, dès lors qu'il y a .php dans le nom du fichier il est envoyé vers le parseur PHP.

(dans le test proposé il n'y a aucune influence d'un quelconque .htaccess)
Ca fait eur tout ca quand même... Il faudrait interdire "php" dans les noms d'images uploadées... C'est peut-être la seule solution pour être "certain" que des fichiers php ne seront pas uploadé.

Qu'en pensez-vous?
oui, donc il me suffit de rajouter une petite condition pour dire que si le nom du fichier contient .php, on refuse l'uplaod, et on affiche un message en conséquence...

merci beaucoup pour l'info !

bon, je vais à mon cours de code...

@ +
Puis-je dire une grosse sottise ?

Refuser les fichiers à double extension potentielle, en foo.xxx.yyy, me semble une nécessité évidente pour un script d'upload.
De toute façon tu ne comptais pas renommer les fichiers une fois uploadés ? Parce que ça risque de vite être le bazard, non ?

SirWam a écrit :
avec un fichier image.php?truc=.jpg ça donnerait quoi ?

Je doute que beaucoup de systèmes d'exploitation acceptent un point d'interrogation dans un nom de fichier.
si les fichiers devaient être renommé normalement :
titre.jpg devient nombre_aleatoire-titre.jpg

mais bon, rien n'est encore arrêté...


"Refuser les fichiers à double extension potentielle, en foo.xxx.yyy, me semble une nécessité évidente pour un script d'upload."
Oui, je crois que la méthode la plus simple serait de refuser les points, autre que celui de l'extension. par contre, il va falloir que je cherche comment faire ça...

en tout cas merci à tous d'avoir participer à ce sujet Smiley smile
Graph-Site a écrit :
"Refuser les fichiers à double extension potentielle, en foo.xxx.yyy, me semble une nécessité évidente pour un script d'upload."
Oui, je crois que la méthode la plus simple serait de refuser les points, autre que celui de l'extension. par contre, il va falloir que je cherche comment faire ça...
Regex ou explode...
Graph-Site a écrit :
en tout cas merci à tous d'avoir participer à ce sujet Smiley smile
De rien Smiley cligne Merci aussi pour toutes les pistes qui ont été lancée ici. Je vais pouvoir mettre un système d'upload au point.

a+
Pages :