|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
Bonjour,
J'aimerais que vous m’éclaireriez de vos lumières par rapport à ma problématique. J'ai un script qui permet de créer un article. Il est possible d'ajouter des images à cet article. Un outil permet de les envoyer sur le serveur et de créer des miniatures. L'objectif est de créer un dossier par utilisateur (renommé par son id) puis des sous dossiers par catégorie d'article. Dans les catégories d'article, on pourrait alors créer un dossier par article qui pourrait porter le nom de l'identifiant de l'article. Cela permettra à l'utilisateur d'ajouter des photos dans le même dossier afin de modifier l'article sans se demander dans quel dossier il doit envoyer les photos et/ou récupérer celles qu'il a déjà envoyées. La question est la suivante : Comment empêcher un utilisateur d'aller fouiner dans les dossiers des autres utilisateurs ? Par avance, merci de votre aide.
|
|
|
00
|
|
|
#2 | ||
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 991 ![]() |
Hello
Une solution pourrait être d'interdire l'accès direct au répertoire en ajoutant une règle dans un .htaccess (voir Order Deny,Allow) et de ne charger les images qu'au travers de script PHP qui, dans la foulée, vérifieraient les droits du membre sur l'image. Voici comment procéder à l'affichage de l'image en PHP: Code :
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
||
|
00
|
|
|
#3 |
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
Bonjour,
Merci pour votre réponse. Comment tester que l'image appartient à l'utilisateur ? Avec readfile() ? Il faudrait (à mon avis) juste interdire les dossiers ne portant pas le nom de son id. Qu'en pensez-vous ? Est-ce possible avec un htaccess ? Par avance, merci. |
|
|
00
|
|
|
#4 | |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 991 ![]() |
Citation:
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
|
00
|
|
|
#5 |
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
Comment comparer le nom d'un dossier avec l'id de l'utilisateur. Est-ce simplement envisageable ?
Si l'utilisateur n'est pas dans le dossier "2" alors => exit (); En fait, pour la gestion des images, j’utilise un plugin de tinymce qui utilise fancyupload : Le plugin permet d'envoyer des photos et de les insérer dans le wysiwyg en ouvrant un explorateur. Il faudrait que je sois capable d'ouvrir le plugin dans le bon dossier et que l'utilisateur ne puisse pas se balader ailleurs que dans son dossier. Sachant que l'arborescence sera : -id_utilisateur =>2 --type_article =>5 ---id_article =>110 A ce jour j'arrive à créer automatiquement les bons dossiers et y envoyer les images. Il me reste donc le fait d'ouvrir le plugin dans le bon dossier et à restreindre l'exploration. Bref, si des personnes pouvaient m'aider, on pourrait avoir un système d'image permettant de gérer la création d'article avec une gestion multi-utilisateur.
|
|
|
00
|
|
|
#6 |
|
Membre éclairé
![]() Gérard OkonoDéveloppeur Web Inscription : juillet 2006 Messages : 711 ![]() |
Regarde cette excellente classe pour ce dont tu veux. je l'ai utilisé pour un même souci.
Meilleures salutations. |
|
|
00
|
|
|
#7 | |||
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
Citation:
Merci pour la classe. Cependant, je souhaite adapter l'outil que je possède et donc la classe fancyupload2. Apparemment, ce serait cette fonction qui génère l'explorateur : Code :
Par avance merci de votre aide
|
|||
|
|
00
|
|
|
#8 | ||
|
Membre éclairé
![]() Gérard OkonoDéveloppeur Web Inscription : juillet 2006 Messages : 711 ![]() |
Un truc de ce genre
Code :
|
||
|
|
00
|
|
|
#9 |
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
Bonsoir,
Merci pour ce morceau de code. Quand tu mets en commentaire //ton code. Pourrais tu me dire ce que tu pensais y mettre. Merci
|
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() Olivier Développeur Web Inscription : août 2003 Messages : 1 837 ![]() |
A mon avis tu n'a pas la bonne reflexion sur la facon de gérer tes images.
Perso j'aurais toutes mes images dans un seul et même dossier (voir des sous dossiers si c'est pertinant) et en bdd tu associe chaque image aux articles. Un article étant associé à un utilisateur tu sera en mesure de n'afficher que les images d'un utilisateur. Gérer les droits au niveau du système de fichier ça revient à créer des utilisateurs systèmes et de modifier le chmod et le chown des fichiers , c'est ingérable. |
|
00
|
|
|
#11 |
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
Bonjour,
Sauf que si je fais comme cela, c'est qu'il y a une contrainte particulière. En effet, mon site permet de géolocaliser les photos en jpg émises par l'utilisateur. De ce fait le script scan un dossier en particulier pour y extraire les données EXIF et y associer une coordonnée GPS issues d'un fichier GPX. Je ne voudrais pas géolocaliser les images d'une autre balade et scanner toutes les images à chaque fois. Ensuite, est-ce possible/efficace de filtrer les potentiels centaines/milliers d'images dans un même dossier pour ne montrer que les photos de l'utilisateur et de son article ? Je pensais qu'il serait plus simple d'accorder un dossier par utilisateur et de le brider à l'intérieur. Dans ce dossier, il y aurait des sous dossiers par type d'article et pour chaque type d'article un sous dossier portant le numéro de l'article. Un plugin image tinymce permettra ensuite d'envoyer les images dans le bon dossier et d'ouvrir ce dernier en cas de màj. Merci de me dire quelle solution serait la plus intéressante à mettre en place sachant qu'il me reste dans mon cas juste à brider l'utilisateur dans son dossier. |
|
|
00
|
|
|
#12 | ||||
|
Expert Confirmé
![]() Olivier Développeur Web Inscription : août 2003 Messages : 1 837 ![]() |
Citation:
Citation:
Citation:
Citation:
|
||||
|
00
|
|
|
#13 | ||||
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
Citation:
Citation:
Citation:
Citation:
si vous connaissez un système intégré à un éditeur de texte wysiwyg, qui permet de gérer les photos dans un contexte multi-utilisateur (même si payant), je suis preneur !Merci pour vos conseils. |
||||
|
|
00
|
|
|
#14 | ||
|
Expert Confirmé
![]() Olivier Développeur Web Inscription : août 2003 Messages : 1 837 ![]() |
Citation:
En partant du principe que tu aura une table avec une référence vesr tes images et un lien vers tes articles/utilisateur tu pourrais par exemple faire : Code :
SELECT chemin FROM images WHERE id_user = 5 OR id_article = 122; Citation:
|
||
|
00
|
|
|
#15 |
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
Bonsoir,
Je réfléchit toujours sur les deux solution, et... Je me demandais comment pourrait on être en mesure de gérer le fait qu'un utilisateur puisse supprimer, renommer une photo. Comment ces modifications pourraient être remontées en base ? |
|
|
00
|
|
|
#16 |
|
Expert Confirmé
![]() Olivier Développeur Web Inscription : août 2003 Messages : 1 837 ![]() |
Chaque photos à une id dans la base. Dans ton explorateur d'image (qui aura été rempli grâce aux infos de la base) il te suffit de savoir quelle image est renommée/supprimée via son id pour appliquer la modification en bdd.
C'est le même principe que lorsque tu édite un article par exemple , comment fait tu pour savoir quel est l'article modifié ? via son id. |
|
00
|
|
|
#17 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 991 ![]() |
Fais ça en objet et ça passera comme une lettre à la poste.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
|
|
#18 |
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
Comme une lettre à la poste, certes ! Faut-il encore être assez compétent pour le construire
.Si quelqu'un veut partager son système de gestion des photos multi-utilisateur en relation avec un éditeur de texte, je suis preneur et lui serait infiniment reconnaissant ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com