•  » Installation
  •  » piwigo-2.5: protection des images sous lighttpd

#1 2013-03-17 14:53:29

Thom1
Membre
2011-05-30
101

piwigo-2.5: protection des images sous lighttpd

Ce post fait suite à la fin de la discussion suivante:
http://fr.piwigo.org/forum/viewtopic.php?id=23652

lighttpd ne gère pas les ".htaccess".
L'utilisateur qui exécute lighttpd est "lighttpd" qui est également le propriétaire des fichiers piwigo. Le problème ne vient pas de l'utilisateur système.

Edit: Ceci dit, mon but n'est pas de protéger uniquement les photos originales du téléchargement direct, mais toutes les images. D'ailleurs il est logique d'avoir la possibilité d'empêcher le téléchargement direct de toutes les images privées, originales ou pas. Je vais continuer de creuser la question.

Dernière modification par Thom1 (2013-03-17 15:02:18)

Hors ligne

#2 2013-03-17 15:18:02

Thom1
Membre
2011-05-30
101

Re: piwigo-2.5: protection des images sous lighttpd

J'ai déjà trouvé une solution pour que le téléchargement direct ne soit plus possible depuis le répertoire "upload".

J'ai déplacé ce répertoire en dehors du dossier de piwigo, et j'ai ajouté la ligne de conf suivante à piwigo :
« $conf['upload_dir'] = '/chemin/du/repertoire/upload'; »

J'ai tenté de faire la même chose avec le répertoire "_data" comme ceci :
« *$conf['data_location'] = '/chemin/du/repertoire/_data/'; >
mais cela ne fonctionne pas pour l'instant.

Je continue de chercher.

Hors ligne

#3 2013-03-17 15:27:32

Thom1
Membre
2011-05-30
101

Re: piwigo-2.5: protection des images sous lighttpd

Thom1 a écrit:

J'ai déjà trouvé une solution pour que le téléchargement direct ne soit plus possible depuis le répertoire "upload".

J'ai déplacé ce répertoire en dehors du dossier de piwigo, et j'ai ajouté la ligne de conf suivante à piwigo :
« $conf['upload_dir'] = '/chemin/du/repertoire/upload'; »

Je retire ce que j'ai dit, je ne peux pas accéder aux photos originales en modifiant cette option de la sorte.

Hors ligne

#4 2013-03-17 21:22:35

Mascarille
Membre
Lyon Avignon
2009-12-21
807

Re: piwigo-2.5: protection des images sous lighttpd

Bonsoir,

Si lighttpd ne gère pas le .htaccess, c'est qu'il doit proposer l'équivalent dans son paramètrage interne. Sinon ce serait une passoire !

.htaccess permet de ne pas toucher au paramétrage d'Apache, en particulier pour ceux qui sont hébérgés par un provider.

En ce qui me concerne, je n'utilise pas .htaccess car j'ai paramétré directement les autorisations d'accès dans Apache. La non utilisation généralisée de .htaccess améliore d'ailleurs très sensiblement les performances.

Je pense que vous devriez regarder de ce côté là.
Bonne soirée.


Photographe spectacle vivant : www.mascarille.com
Voyages : www.mascarille.com/tdm
Base de connaissance sur le théâtre : www.mascarille.fr
Photographes des Arts du Spectacle : www.passphotospectacle.com

Hors ligne

#5 2013-03-17 21:48:35

Mascarille
Membre
Lyon Avignon
2009-12-21
807

Re: piwigo-2.5: protection des images sous lighttpd

En complément et pour être plus explicite, dans le paramètrage d'Apache vous pouvez grâce à une commande LocationMatch appliquer des directives à une expression rationnelle, exemple

<LocationMatch ^/galerie/galleries/>
         ...
Deny from All
         ...
</locationMatch>

Toutes les navigations directes xxx/galerie/galleries/xxx seront bloquées.

Inconvénient : redémarrer la serveur (mais ce sont des informations très stables !)

Vous avez certainement l'équivalent dans lighttpd (je ne connais pas !)

A vous de retranscrire le contenu de .htaccess proposé par la version 2.5 et de redémarrer votre serveur.


Photographe spectacle vivant : www.mascarille.com
Voyages : www.mascarille.com/tdm
Base de connaissance sur le théâtre : www.mascarille.fr
Photographes des Arts du Spectacle : www.passphotospectacle.com

Hors ligne

#6 2013-03-18 07:09:38

Thom1
Membre
2011-05-30
101

Re: piwigo-2.5: protection des images sous lighttpd

Mascarille a écrit:

Bonsoir,

Si lighttpd ne gère pas le .htaccess, c'est qu'il doit proposer l'équivalent dans son paramètrage interne. Sinon ce serait une passoire !

.htaccess permet de ne pas toucher au paramétrage d'Apache, en particulier pour ceux qui sont hébérgés par un provider.

En ce qui me concerne, je n'utilise pas .htaccess car j'ai paramétré directement les autorisations d'accès dans Apache. La non utilisation généralisée de .htaccess améliore d'ailleurs très sensiblement les performances.

Je pense que vous devriez regarder de ce côté là.
Bonne soirée.

Bonjour,

Je vais essayer d'expliquer plus clairement la situation.
L'option « $HTTP["url"] =~ "(/upload)"  { url.access-deny = ( "" ) } » de lighttpd est l'équivalent du « Deny from all » d'apache. J'utilise cette option, pour protéger les fichiers privées contre le téléchargement direct, avec les applications suivantes :
- owncloud: protection du dossier "data". La protection fonctionne. Les fichiers sont bien entendu accessibles depuis owncloud.
- hyla (que je commence à délaisser): protection du dossier "sys". La protection fonctionne. Les fichiers sont bien entendu accessibles depuis hyla.
- piwigo: protection du dossier "upload". La protection fonctionne. Mais les fichiers ne sont plus visibles depuis piwigo, et ça c'est le problème que je souhaite résoudre.

Si cette option lighttpd ne fonctionnait pas pour aucune de ses applis, je chercherais la solution uniquement du côté de lighttpd. Mais ça c'est  juste avec piwigo que ça ne fonctionne pas. Il y a peut-être une subtilité dans piwigo que je n'ai pas encore saisi.

Hors ligne

#7 2013-05-23 06:22:51

Thom1
Membre
2011-05-30
101

Re: piwigo-2.5: protection des images sous lighttpd

Bonjour,

Thom1 a écrit:

Je vais essayer d'expliquer plus clairement la situation.
L'option « $HTTP["url"] =~ "(/upload)"  { url.access-deny = ( "" ) } » de lighttpd est l'équivalent du « Deny from all » d'apache. J'utilise cette option, pour protéger les fichiers privées contre le téléchargement direct, avec les applications suivantes :
- owncloud: protection du dossier "data". La protection fonctionne. Les fichiers sont bien entendu accessibles depuis owncloud.
- hyla (que je commence à délaisser): protection du dossier "sys". La protection fonctionne. Les fichiers sont bien entendu accessibles depuis hyla.
- piwigo: protection du dossier "upload". La protection fonctionne. Mais les fichiers ne sont plus visibles depuis piwigo, et ça c'est le problème que je souhaite résoudre.

Si cette option lighttpd ne fonctionnait pas pour aucune de ses applis, je chercherais la solution uniquement du côté de lighttpd. Mais ça c'est  juste avec piwigo que ça ne fonctionne pas. Il y a peut-être une subtilité dans piwigo que je n'ai pas encore saisi.

J'avais mis de côté ce souci sans trouver de solution mais j'ai compris pourquoi piwigo n'affiche pas les images avec ce «url.access-deny = ( "" )». En fait piwigo utilise l'url complète pour afficher les images (http://example.com/upload/….jpg) alors que les autres applis web n'utilisent que le chemin sans le nom de domaine (/upload/…jpg).

Je suppose que l'équipe de dev de piwigo a une bonne raison pour utiliser l'url complète. Si cela ne casse rien, est-il possible de n'utiliser que le chemin (/upload/…jpg) pour afficher les images ?

Dernière modification par Thom1 (2013-05-23 06:23:33)

Hors ligne

#8 2013-05-23 08:36:13

Mascarille
Membre
Lyon Avignon
2009-12-21
807

Re: piwigo-2.5: protection des images sous lighttpd

Vous utilisez le paramétrage suivant :

L'option « $HTTP["url"] =~ "(/upload)"  { url.access-deny = ( "" ) }

sur la première page de doc de lighttpd pour le deny access que je viens de consulter (je ne connais pas ce produit), le paramétrage proposé est notablement différent :

# deny access to /dir1
$HTTP["url"] =~ "^/dir1/" {url.access-deny = ("")}

essayez donc avec "^/upload/" plutôt que "(/upload)"

Il faudra trouver des solutions dans lighttpd, car je vois mal remettre en cause le noyau de piwigo pour être compatible avec un logiciel serveur web qui représente moins de 0,5% des utilisateurs.

Bonne journée


Photographe spectacle vivant : www.mascarille.com
Voyages : www.mascarille.com/tdm
Base de connaissance sur le théâtre : www.mascarille.fr
Photographes des Arts du Spectacle : www.passphotospectacle.com

Hors ligne

#9 2013-05-23 08:39:09

Thom1
Membre
2011-05-30
101

Re: piwigo-2.5: protection des images sous lighttpd

Mascarille a écrit:

essayez donc avec "^/upload/" plutôt que "(/upload)"

Déjà essayé, ça ne change rien.
Merci de ta réponse.

Hors ligne

#10 2013-05-23 09:23:50

Mascarille
Membre
Lyon Avignon
2009-12-21
807

Re: piwigo-2.5: protection des images sous lighttpd

Désolé, mais je ne vois pas la solution.
Question "bête" : vous redémarrez bien le serveur à chaque correction du paramétrage ?
Je ne comprend pas la mécanique et l'utilité de cette fonction si elle bloque les accès depuis le programme applicatif.
Sachez aussi que l'installation d'Apache est désormais d'une grande facilité avec nombre de distributions complètement packagées !
Bonne journée.


Photographe spectacle vivant : www.mascarille.com
Voyages : www.mascarille.com/tdm
Base de connaissance sur le théâtre : www.mascarille.fr
Photographes des Arts du Spectacle : www.passphotospectacle.com

Hors ligne

#11 2013-05-23 09:38:14

Thom1
Membre
2011-05-30
101

Re: piwigo-2.5: protection des images sous lighttpd

Mascarille a écrit:

Question "bête" : vous redémarrez bien le serveur à chaque correction du paramétrage ?

Oui, bien sûr.

Mascarille a écrit:

Je ne comprend pas la mécanique et l'utilité de cette fonction si elle bloque les accès depuis le programme applicatif.

Pami toutes les applis web que j'ai utilisé, il n'y a que dans piwigo que les accès sont bloqués parce que piwigo utilise une url complète pour afficher les images.

D'ailleurs pour vérifier, j'ai créé une page additionnelle qui affiche une image de la galerie comme ceci : <img src="/upload/…jpg">
Dans ce cas l'image s'affiche bien malgré mon : $HTTP["url"] =~ "^/upload/" {url.access-deny = ("")}
tout simplement parce que je n'utilise pas une url complète comme chemin (pas de <img src=http://example.org/upload/…jpg">

Donc cette fonction fonctionne très bien, sauf dans piwigo.

Mascarille a écrit:

Sachez aussi que l'installation d'Apache est désormais d'une grande facilité avec nombre de distributions complètement packagées !

J'héberge pas mal de sites qui fonctionnent très bien, je me vois mal être obligé de tout migrer juste à cause d'une appli, aussi géniale soit elle :)

Hors ligne

#12 2013-05-23 10:23:12

Mascarille
Membre
Lyon Avignon
2009-12-21
807

Re: piwigo-2.5: protection des images sous lighttpd

Pas convaincu, mais pas du tout !
J'ai relu les pages consacrées à cette fonction dans lighttpd... rien à ce sujet.

Pourquoi une fonction qui teste un segment d'adresse url aurait-elle une comportement différent si l'adresse url est complète ou partielle ?

Par contre j'ai découvert que vous pouvez conditionner ce blocage (et ça pourrait résoudre votre problème) :

exemple fourni par la documentation :

# Allow only 200.19.1.5 and 210.45.2.7 to have access to www.example.org/admin/

  $HTTP["host"] == "www.example.org" {
    #!~ is a perl style regular expression not match
    $HTTP["remoteip"] !~ "^(200\.19\.1\.5|210\.45\.2\.7)$" {
      $HTTP["url"] =~ "^/admin/" {
        url.access-deny = ( "" )
      }
    }
  }

De toute façon, je ne peux pas vous aider plus.
Voyez ce problème avec le forum lighttpd


Photographe spectacle vivant : www.mascarille.com
Voyages : www.mascarille.com/tdm
Base de connaissance sur le théâtre : www.mascarille.fr
Photographes des Arts du Spectacle : www.passphotospectacle.com

Hors ligne

#13 2013-05-23 10:30:02

Thom1
Membre
2011-05-30
101

Re: piwigo-2.5: protection des images sous lighttpd

Mascarille a écrit:

De toute façon, je ne peux pas vous aider plus.
Voyez ce problème avec le forum lighttpd

Pas grave, merci quand même pour toutes ces réponses.

Hors ligne

  •  » Installation
  •  » piwigo-2.5: protection des images sous lighttpd

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact