[PHP] htaccess, Restriction des droits sur les img d'une galerie photo

htaccess, Restriction des droits sur les img d'une galerie photo [PHP] - PHP - Programmation

Marsh Posté le 30-05-2004 à 22:15:39    

:hello: à tous
 
Voilà j'ai une petite question à laquelle je n'ai pas vraiment trouvé de réponse sur le forum.
Je vous explique brièvement mon cas.
J'ai créé une galerie photo en php, je stocke mes images dans des dossiers, jusque là rien de particulier :p
Les problèmes arrivent quand on parle de restriction d'accès.
 
J'avais fait 2 systèmes de securité, le premier avec un htaccess à la racine du site permettant de filtrer et ensuite des comptes personnels pour chacun des membres.
Le problème c'est que j'aimerais pouvoir restreindre l'accès à certains dossiers d'images selon le membre  
(ex : membre 1 à l'accès aux dossiers 1, 2 et 3 et le membre 2 au dossier 3 uniquement)
Mais un membre pas trop stupide pourra avoir accès à toutes les images en recupérant l'url et en modifiant le nom de dossier.
 
J'aurais donc aimé savoir quelles solutions je pouvais mettre en oeuvre pour supprimer cette "faille".
 
Y'a t'il un moyen de permettre l'accès à un contenu de dossier que par le biais d'un fichier (genre "voir_image.php" ) et donc empêcher de lister le contenu du dossier (comme quand il n'y a pas d'index) et par la même occasion d'empêcher également de télécharger une image si l'on connait son chemin complet ? (oui ça fait beaucoup de contraintes je sais :p)
 
Le tout en sachant que j'aimerais conserver mon système actuelle cad base de données mysql contenant la liste des membres avec login et pass en md5.
 
Merci d'avance à tous


Message édité par ofbdood le 02-06-2004 à 00:36:25
Reply

Marsh Posté le 30-05-2004 à 22:15:39   

Reply

Marsh Posté le 30-05-2004 à 22:18:02    

chmod u-r


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 31-05-2004 à 01:49:43    

désolé pour le retard ... oui donc là si je retire les droits de lecture ok on ne pourra plus voir l'image en rentrant l'url directement mais je ne pourrais plus non plus afficher l'image à partir de mon site ... nan ?

Reply

Marsh Posté le 31-05-2004 à 03:25:29    

dans un .htaccess
 
Options -Indexes


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 31-05-2004 à 07:39:47    

ofbdood a écrit :

désolé pour le retard ... oui donc là si je retire les droits de lecture ok on ne pourra plus voir l'image en rentrant l'url directement mais je ne pourrais plus non plus afficher l'image à partir de mon site ... nan ?


 
pas sur l'image, sur le répertoire...


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 31-05-2004 à 11:21:57    

simogeo : Merci, c'est déjà un peu mieux comme ça :)
 
kadreg : J'ai testé sur un fichier et un dossier mais ça ne fonctionne pas
(sur un dossier j'ai pu enlever les droits en lecture pour "Group" et "Public" mais pas pour "Owner", et dans ce cas j'ai tjs accès aux fichiers que ce soit par le biais du site ou par un lien direct vers une image)
 

Reply

Marsh Posté le 31-05-2004 à 11:23:07    

Bah oui, mais c'est pour owner qu'il faut le changer.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 31-05-2004 à 11:54:04    

bah c'est bien ce que je me suis dis mais impossible d'enlever ce droit pour le "Owner"
 
c'est sûrement dû à mon cas de figure :
je n'heberge pas le site chez moi, il est chez phpnet. Je change les droits par le biais du ftp c'est peut être pour ça, non ?

Reply

Marsh Posté le 31-05-2004 à 11:55:02    

ouais :o


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 31-05-2004 à 11:58:15    

c'est vrai que j'aurais pu le préciser dès le début  :sarcastic:  
donc c'est sans espoir ?  :cry:

Reply

Marsh Posté le 31-05-2004 à 11:58:15   

Reply

Marsh Posté le 31-05-2004 à 12:36:00    

ofbdood a écrit :

c'est vrai que j'aurais pu le préciser dès le début  :sarcastic:  
donc c'est sans espoir ?  :cry:

tu fous un index.html dans ton dossier [:dawa]


Message édité par fabien le 31-05-2004 à 12:36:17

---------------
Découvre le HFRcoin ✈ - smilies
Reply

Marsh Posté le 31-05-2004 à 12:51:08    

Tiens un BTS IG :p
bah nan en fait pour le listing des fichiers ça a été résolu par  
"Options -Indexes"
 
Maintenant ce que je veux c'est qu'on puisse accéder à une image uniquement par le biais d'une certaine page et non en rentrant l'url direct de l'image par exemple.

Reply

Marsh Posté le 31-05-2004 à 17:45:56    

ofbdood a écrit :

Tiens un BTS IG :p
bah nan en fait pour le listing des fichiers ça a été résolu par  
"Options -Indexes"
 
Maintenant ce que je veux c'est qu'on puisse accéder à une image uniquement par le biais d'une certaine page et non en rentrant l'url direct de l'image par exemple.


 
J'ai le même problème...  :??:


---------------
Real eyes realize real lies
Reply

Marsh Posté le 31-05-2004 à 18:13:47    

Pas évident à réaliser apparement :(  
Personne n'a une brillante idée alors ?

Reply

Marsh Posté le 31-05-2004 à 18:29:57    

Ou sinon on peut peut-être faire comme ceci :
 
un dossier du genre "www/ht/"
dedans le fichier qui contient les pass (.htpass)
protéger ce dossier afin qu'il soit innaccessible de l'exterieur (c'est là ou j'ai un doute)
 
il faut que le fichier puisse être lu et écrit par une page en php.
Si c'est le cas, à chaque inscription on ajoute une ligne (login:pass) dans le .htpass
 
c'est possible ça ?

Reply

Marsh Posté le 31-05-2004 à 20:00:57    

--> .htaccess
 
deny from all


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 31-05-2004 à 23:18:04    

Bon voilà j'ai presque fini !
J'ai fait comme ceci :
 
documentroot : d:\www
/www/private/01/
.htaccess (deny from all)
.htgroup (un groupe par dossier d'image)
.htpass (ensemble des membres inscrits)
Les 2 derniers fichiers sont rempli à partir de ma base mysql et réécrit dès qu'un changement intervient.
 
/www/ma_galerie/fichiers/img01/
/www/ma_galerie/fichiers/img02/
Dans chacun des dossiers, lors de la création, un .htaccess est généré avec à l'intérieur :
<Limit GET POST>
require group grp10
</Limit>
 
ou "10" représente l'id du dossier.
 
Voilà ça peut peut-être sembler lourd mais au moins niveau sécurité je pense pas pouvoir faire mieux :p
 
Il me reste plus qu'une bricole à régler, c'est que le cryptage des pass soit le même partout (base mysql, herbergeur phpnet, hebergement chez moi (Apache 1.3/Win2k))
en fait c'est une grosse bricole ...

Reply

Marsh Posté le 01-06-2004 à 19:35:50    

(flag)

Reply

Marsh Posté le 02-06-2004 à 00:35:25    

Voilà c'est au point  :)  
Donc pour résumer mon système consiste à gérer dynamiquement le contenu des .htaccess et .htpass
 
ça permet dans le cas d'une galerie photo, de donner des droits aux membres et empêcher n'importe quel utilisateur d'afficher une image en tapant l'url directement.
 
Si certains veulent plus de détails il n'y a pas de problème.
 
->Edition du titre.

Reply

Marsh Posté le 02-06-2004 à 00:46:03    

ofbdood a écrit :

Maintenant ce que je veux c'est qu'on puisse accéder à une image uniquement par le biais d'une certaine page et non en rentrant l'url direct de l'image par exemple.


 
http://httpd.apache.org/docs-2.0/env.html#image-theft


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 02-06-2004 à 11:22:28    


 
Mais oui mais nan :p, ça, si je ne me trompe pas, cela empêche d'afficher par exemple une photo sur un forum mais ça n'empêche pas quelqu'un de VOIR la photo en rentrant l'url dans un navigateur.

Reply

Marsh Posté le 02-06-2004 à 14:22:26    

en utilisant les referers ?  [:sinclaire]  
 
sinon si quelqu'un a une solution, ca m'interesse :)


---------------
Saint Seiya  || La Livebox || Europe, débats, réflexions
Reply

Marsh Posté le 02-06-2004 à 14:29:35    

Bah il me semble pas que ça soit possible mais je me trompe peut-être...
le mieux c'est de tester  :D

Reply

Marsh Posté le 02-06-2004 à 20:43:28    

ofbdood a écrit :

Mais oui mais nan :p, ça, si je ne me trompe pas, cela empêche d'afficher par exemple une photo sur un forum mais ça n'empêche pas quelqu'un de VOIR la photo en rentrant l'url dans un navigateur.


Heu j'ai pas dit que c'était utilisable comme ça. Faut comprendre et adapter... Si tu veux qu'on ne voit pas la photo en rentrant directement son URL y'a qu'une ligne à virer...


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 02-06-2004 à 22:53:18    

gm_superstar a écrit :

Heu j'ai pas dit que c'était utilisable comme ça. Faut comprendre et adapter... Si tu veux qu'on ne voit pas la photo en rentrant directement son URL y'a qu'une ligne à virer...


 
Oui mais faut qu'elle reste accessible lorsque je l'appelle d'une page de mon site.
Enfin je vais regarder cette solution de plus prêt tu as peut-être raison  :jap:

Reply

Marsh Posté le 02-06-2004 à 22:56:57    

ofbdood a écrit :

Oui mais faut qu'elle reste accessible lorsque je l'appelle d'une page de mon site.


Pas de problème, il faut autoriser l'accès à partir du bon referer (donc l'url de la page qui inclut l'image)


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 29-07-2004 à 04:24:31    

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed