|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() Eleveur de cornichons Inscription : juin 2002 Messages : 1 060 ![]() |
Bonjour
J'utilise un formulaire pour uploader une image vers le serveur. Cette image est copiée dans un répértoire dont les utilisateurs n'auront pas à connaitre le nom normalement. Mais ils peuvent toujours le deviner... Alors je voudrais savoir comment interdire l'accès aux images directement ? Car j'explique un peu : chaque utilisateur a un profil. Et seuls les amis peuvent voir l'image de la personne. Or, chaque image uploadée va dans le dossier upload sous un nom généré automatiquement... Mais n'importe qui peut donc aller dans ce répértoire upload et regarder les images des autres. J'ai mis un fichier index.php pour ne pas pouvoir voir la liste mais s'ils tapent le nom de l'image dans l'url, ils la verront... Comment faire pour remédier à cela ? Merci Nas' |
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Étudiant Inscription : novembre 2005 Messages : 85 ![]() |
tu peux, mais cela bouffe des ressource, mettre les images dans un répertoires or du web, et puis aller afficher l'image grâce à php qui lira le fichier et l'enverra en sortie .....
|
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Eleveur de cornichons Inscription : juin 2002 Messages : 1 060 ![]() |
Justement, j'avais pensé à cette méthode mais elle est lourde je trouve pour les accès. Y'a pas une méthode qui interdit simplement l'accès direct aux images ?
Comment font les sites qui proposent aux utilisateurs d'avoir des photos que seul un cercle privé peut voir ? Nas' |
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() |
Ces genres de sites mettent les images en dehors du document_root il me semble.
Sinon plusieurs possibilité soffre à toi : Mettre le contenu de l'image dans la bdd, où même couper l'image en deux. Laisse cour à ton imagination, et regarde qu'elle méthode est la moins grosses en ressource. |
|
|
00
|
|
|
#5 |
|
Membre chevronné
![]() Inscription : mai 2005 Messages : 657 ![]() |
Salut,
Si tu veux vraiment verrouiller l'accès en vérifiant d'une part que la personne est bien connectée, puis qu'elle est bien amie avec telle autre, tu es obligé de lire l'image avec PHP. Après libre à toi de la stocker dans une BDD ou dans un dossier inaccessible. Un .htaccess seul ne suffira pas car il ne peut pas gérer cette logique, tu peux simplement lui dire de refuser l'accès pour tout le monde (éventuellement accès par mot de passe, par adresse IP, mais pas par rapport à une session PHP). La technique consiste donc à interdire l'accès direct avec un .htaccess puis à passer par PHP pour servir l'image aux personnes qui y ont droit. L'inconvénient est que ça utilise forcément plus de ressources que de servir l'image de manière statique. D'instinct, je dirais que le surcoût est probablement marginal par rapport à la génération complète d'une page mais c'est à voir. D'autre part, ma philosophie serait plutôt : "Scale Later" En revanche tu peux aussi faire en sorte que le nom de l'image soit difficile à deviner (nom aléatoire par exemple). Dans ce cas tout ceux qui connaissent le nom de l'image pourront y accèder. Mais puisqu'il faut effectivement être ami avec untel pour que le système te donne le nom de son image perso, tu retombes sur tes pattes La différence est que quelqu'un pourrait faire circuler le nom de l'image, mais avec l'autre système on peut aussi enregistrer l'image sur le disque et l'uploader ailleurs, donc ça ne fait pas une grosse différence. |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Eleveur de cornichons Inscription : juin 2002 Messages : 1 060 ![]() |
Merci Taum.
J'ai pensé également au nom difficile à deviner, ça peut être une solution finalement... Quoiqu'il en soit, le "scale later" est très vrai... Merci Nas' |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com