Gallerie photo à usage restreint ?

Démarré par MatMi, Novembre 02, 2011, 22:20:50

« précédent - suivant »

MatMi

Bonjour,

j'ai pris des photos du mariage de ma soeur le week-end dernier et je voudrais mettre les photos sur un site pour que invités du mariage puissent les regarder, voire en ajouter eux-mêmes. J'aimerais que la gallerie soit protégée par un mot de passe que je donnerai aux invités. J'ai un compte flickr pro mais je n'ai pas envie de devoir entrer toutes les adresses emails, un mot de passe est bien plus simple à utiliser.

Vous avez une solution facile ? Je pourrais j'imagine créer un site sur Jimdo ou autre mais créer un site juste pour ça, bof bof...

Merci pour votre aide !

Noir Foncé

Bonsoir,
je connais une possibilité qui passe hélas par la création d'un site, à héberger chez ton fournisseur d'accès. En revanche, ça ne permet pas aux utilisateurs de rajouter leurs photos.
Pour créer un site très rapidement, il y a (parmi d'autres) :
- Jalbum
- Adobe Lightroom en version d'essai

Une fois les pages générées, tu peux utiliser le script password_protect.php.
Ce script est assez simple, et d'une sécurité suffisante pour mettre des photos à l'abri.

Mode d'emploi :
1) Tu places le fichier "password_protect.php" sur ton site (racine par exemple), préalablement édité pour y mettre tes mots de passe
2) Tu appelles depuis ton navigateur : password_protect.php?help . Cette commande retourne un message du type :
Citation
Include following code into every page you would like to protect, at the very beginning (first line):
<?php include("/var/www/x/xx/xxx/xxxxxxxxx/public_html/main/password_protect.php"); ?>
3) Tu colles cette ligne en en-tête de toutes les pages que tu veux protéger.

Voilà. Mais je pense que d'autres ici proposeront des solutions de partage plus faciles à mettre en oeuvre.

Cordialement,


BBman

Regarde du côté de http://piwigo.com avec période d'essai d'un mois aussi, ce sera parfait pour donner des droits d'accès et de rectification à tes amis.

plegall

Citation de: BBman le Novembre 02, 2011, 23:10:40
Regarde du côté de http://piwigo.com avec période d'essai d'un mois aussi, ce sera parfait pour donner des droits d'accès et de rectification à tes amis.
Surtout qu'on peut encore simplifier le système de permission pour faire un "tout ou rien" : si le visiteur ne se "connecte" pas avec le bon nom d'utilisateur/mot de passe, il ne voit rien du tout. L'administrateur de la galerie peut choisir de faire un seul compte utilisateur pour tout le monde ou d'en faire un pour tonton Bernard, un autre pour le cousin Kevin, un autre pour tata Yolande, etc.

De plus, dans le cadre de la création d'une galerie photo suite à un reportage mariage, voir du côté de http://fr.piwigo.com/blog/2011/08/29/partenariat-photographe-mariage/ : nous étendons la période d'essai à 6 mois.

(note : je bosse chez Piwigo.com)

PS : merci BBman, mais je pense que tu voulais parler de "notification" et non de "rectification", j'ai bon ?

MatMi

Merci, c'est très intéressant. Je regarde piwigo en détail ce soir.

kaf

Citation de: Noir Foncé le Novembre 02, 2011, 22:57:38
Une fois les pages générées, tu peux utiliser le script password_protect.php.
Ce script est assez simple, et d'une sécurité suffisante pour mettre des photos à l'abri.

Pour moi, un script php qui contient les noms d'utilisateurs et les mots de passes en clair n'est certainement pas une méthode sûre!

Noir Foncé

Citation de: kaf le Novembre 03, 2011, 13:49:02
Pour moi, un script php qui contient les noms d'utilisateurs et les mots de passes en clair n'est certainement pas une méthode sûre!
Bonsoir,
il y a sans doute d'autres méthodes plus sûres, mais pour ma part et comme pour sans doute 99,97% des internautes, je ne suis pas capable de la contourner.

Le défi :
S'il y a des amateurs, j'ai mis sur mon site une photo cachée. La page qui l'abrite utilise password_protect.php.

J'invite donc tous ceux qui savent le faire à mettre dans la suite de ce fil la photo que j'ai cachée, comme preuve de leur talents de "hackeur" !

S'ils peuvent ensuite partager leur technique en expliquant les faiblesses de ce script, je suis très intéressé.
Bonne chance à tous !  ;)

serge24

Pour ce genre de besoin j'utilise joomeo. C'est gratuit, il suffit de télécharger les photos de créer un identifiant et un mot de passe et le tour est joué.

kaf

Citation de: Noir Foncé le Novembre 03, 2011, 22:27:27
Bonsoir,
il y a sans doute d'autres méthodes plus sûres, mais pour ma part et comme pour sans doute 99,97% des internautes, je ne suis pas capable de la contourner.

Le défi :
S'il y a des amateurs, j'ai mis sur mon site une photo cachée. La page qui l'abrite utilise password_protect.php.

J'invite donc tous ceux qui savent le faire à mettre dans la suite de ce fil la photo que j'ai cachée, comme preuve de leur talents de "hackeur" !

S'ils peuvent ensuite partager leur technique en expliquant les faiblesses de ce script, je suis très intéressé.
Bonne chance à tous !  ;)

La question n'est pas là. Ce qui n'est pas sûr dans un tel système est que les mots de passes sont transférés et stockés en clair. Donc, quelqu'un qui par un moyen ou un autre aura accès à ton ftp, ou à une copie locale de ton site, ou qui observera ce qui se passe sur ton réseau, ou ce qu'un client tape sur son clavier, connaîtra immédiatement les couples utilisateurs / mot de passe.

Alors évidemment, pour un usage familial un tel script est sans doute suffisant. Mais il suffirait de peu pour que la sécurité soit sensiblement améliorée:
- ne pas stocker les mots de passe en clair côté serveur, utiliser une fonction de hachage (genre md5)
- ne pas transférer les couples utilisateurs / mots de passe en clair (aussi avec une fonction de hachage, à défaut de faire du https)
- utiliser des sessions http

Ok, ça demande des connaissances informatiques, mais je pense que certains sites "clés en main" doivent proposer des stratégies de protections plus évoluées que ce simple script.

plegall

Il ne faut pas non plus être trop paranoïaque. Il faut placer le bon niveau de sécurité en fonction du degré d'importance du contenu. En l'occurence, il ne faut pas demander une protection équivalente sur le site de ta banque et sur celui de tes photos de famille.

L'important c'est surtout de ne pas utiliser le même mot de passe partout. Comme ça le jour où ton site à faible protection est compromis, cela ne casse en même les protections sur les autres sites plus sensibles.

Citation de: kaf le Novembre 04, 2011, 15:02:40
- ne pas stocker les mots de passe en clair côté serveur, utiliser une fonction de hachage (genre md5)
Ca je suis d'accord.

Citation de: kaf le Novembre 04, 2011, 15:02:40
- ne pas transférer les couples utilisateurs / mots de passe en clair (aussi avec une fonction de hachage, à défaut de faire du https)
HTTPS ok (ça commence à être compliqué pour un site de photo perso quand même)

ne pas transférer en clair, là j'aimerais bien comprendre. Si tu transferes le md5, en quoi c'est plus sécurisé ? il suffit que le pirate le chope et transfere le md5 et il n'y a aucune amélioration de sécurité là-dedans.

Je conseillerais bien la lecture de Digest access authentication sur Wikipedia http://en.wikipedia.org/wiki/Digest_access_authentication qui permet d'éviter le passage en clair du mot de passe, sans utiliser HTTPS, mais ce n'est pas compatible avec tous les navigateurs web.

Citation de: kaf le Novembre 04, 2011, 15:02:40
- utiliser des sessions http
Je ne comprends pas. Pour initialiser ta session, il faut bien s'identifier, donc transmettre ton mot de passe d'une façon ou d'une autre. La session ne sert qu'à éviter de se reconnecter à chaque chargement de page, et ce pour une durée prévue par ton serveur (30 minutes par défaut sur la plupart des systèmes)
Bref, rien ne sert de mettre une porte blindée sur sa cabane de jardin dont le loquet de la fenêtre est cassé ;-)

kaf

Non, passez le mot de passe haché peut aider, même si ce n'est évidemment pas aussi sûr que du https. Il suffit de ne pas hacher le mot de passe seul, mais de lui adjoindre une donnée variable, passée pas le serveur (même en clair, ça n'a pas d'importance). Voici un scénario possible:

- Un client demande l'affichage de la page, ce qui démarre une session sur le serveur. Le serveur passe au client une donnée, par exemple un numéro de session qui lui a été attribué.
- Au moment d'envoyer les données du formulaire de mot de passe, le client hache le mot de passe tapé par l'utilisateur, concatène le résultat au numéro de session passé par le client puis hache à nouveau la chaîne résultante.
- Quand il reçoit les données, le serveur (qui connaît le mot de passe haché et le numéro de session) peut facilement vérifier que les mots de passe concordent. Et ce, sans connaître le mot de passe en clair et sans l'avoir fait passer en clair sur le réseau.

Ce n'est pas bien difficile à mettre ne place, pas plus difficile que la solution proposée en fait, il suffit de vouloir le faire.
Cela dit, je suis d'accord sur le fait que la sécurité doit être en adéquation avec les données à protéger  ;)

plegall

(ça devient très technique cette discussion)

Si le pirate "écoute" les requêtes HTTP, alors il récupérera aussi bien un mot de passe que ton numéro de session (qui est probablement une variable dans un cookie qui est passé en clair dans le header de chaque requête).

Donc certes, ça complexifie le boulot du pirate, et c'est une bonne chose, mais ça reste "à sa portée", du moment qu'il arrive à écouter le réseau, il sait beaucoup de choses...

De plus, "le client hache ..." cela suppose d'introduire de la complexité algorithmique au niveau du client. Ce n'est pas faisable en HTML, donc ça suppose d'utiliser du javascript tout ça => il faut s'assurer que ça marche parfaitement pour tous les navigateurs, etc.

kaf

Non, parce que par définition, une fonction de hachage n'est pas réversible. Donc, avec les meilleurs ordinateurs du monde, on ne peut pas passer de la clé hachée à la clé originelle, c'est fait pour ça. Et le fait de connaître un bout de la clé n'y change rien d'ailleurs, donc le numéro de session peut être passé au client en clair, ça ne change rien. Le seul intérêt de ce numéro de session est d'éviter de toujours passer au serveur la même clé hachée (évidemment, si on hache uniquement le mot de passe, la clé hachée sera toujours la même).

Implémenter un md5 est très simple, on trouve l'algorithme un peu partout sur le net. De plus, on trouve facilement des plugins pour des librairies comme jquery, qui sont donc portables sans souci.


Noir Foncé

Citation de: plegall le Novembre 04, 2011, 17:44:10
(ça devient très technique cette discussion)
+1  :D ! Je suis déjà largué !

Pour kaf et plegall,
Merci pour vos explications. Ce que j'ai l'impression d'avoir compris, c'est que pour dépasser cette protection, il faut avoir accès :
   - soit à un poste depuis lequel une personne autorisée (connaissant le mot de passe) se connecte ;
   - soit au serveur sur lequel le site est hébergé ;
   - soit être capable de "renifler" le réseau (?);
   - soit (méthode bourrine non citée) utiliser la force brute avec un robot qui teste toutes les combinaisons possibles (bon courage !).

Pas gagné tout ça. Il faudrait commencer par remonter à mon adresse IP (par un de mes mails, peut-être par un de mes messages sur le forum si c'est possible) ou par l'IP serveur de mon hébergeur. Ou bien encore compter sur une faille d'accès du serveur hébergeur.

Pour l'instant ce que je vois, c'est que ce script a cependant l'avantage de tourner sur n'importe quel hébergement, même le plus restrictif.
Par exemple, mon hébergeur n'accepte pas la mise en place d'un fichier .htaccess, autre technique efficace pour protéger des données.

Donc, tant que je ne me fais pas site miroir de Charlie Hebdo ou de Wikileaks, je trouve que c'est encore une bonne méthode. ;)

Mais le défi reste ouvert ...

MatMi

Citation de: serge24 le Novembre 04, 2011, 10:22:27
Pour ce genre de besoin j'utilise joomeo. C'est gratuit, il suffit de télécharger les photos de créer un identifiant et un mot de passe et le tour est joué.

Si j'ai bien compris, sur Joomeo, il faut entrer les adresses des contacts qui peuvent avoir accès aux photos, non ? Si c'est ça, c'est la même chose que sur mon compte Flickr et j'aimerais simplifier la chose en ayant simplement à donner un login et un mot de passe.