Vignette de document et filtrage des pièces-jointes #3891

Closed
opened 6 years ago by miros · 5 comments
miros commented 6 years ago

Bonjour,
SPIP permet de filtrer l'accès aux pièces jointes (via $GLOBALS['meta']['creer_htaccess'] === 'oui'). Dans ce cas, le répertoire /IMG/ n'est plus accessible depuis un navigateur et l'URL d'un document devient par exemple mon_site/spip.php?action=acceder_document&arg=23&cle=1c88992fb5082e4a76a818675282a964fedfb0cb&file=jpg%2Fpenguins.jpg

Lorsqu'une image a une vignette personnalisée, cette vignette est stockée dans le répertoire /IMG/ et la balise #LOGO_DOCUMENT utilise l'URL de la vignette dans /IMG/ même si l'accès aux pièces jointes est filtré. Aussi, la vignette ne s'affiche pas car /IMG/ n'est plus accessible depuis un navigateur.

Remarque : si on utilise #LOGO_DOCUMENT avec le filtre image_réduire, la version réduite de la vignette s'affiche. En effet, la version réduite de la vignette est stockée dans local/cache-vignettes/... qui est accessible depuis un navigateur (c'est-à-dire que la version réduite de la vignette n'est pas protégée).

La fonction generer_url_document_dist génère, le cas échéant, une URL avec "spip.php?action=acceder_document", en revanche la fonction vignette_logo_document ne le fait pas.

Une piste peut consister à modifier la fonction vignette_logo_document, ainsi que la fonction _image_valeurs_trans (car cette dernière ne tient pas compte du cas d'une URL du type "spip.php?action=acceder_document").

Cordialement,
Equipement

Bonjour, SPIP permet de filtrer l'accès aux pièces jointes (via $GLOBALS['meta']['creer_htaccess'] === 'oui'). Dans ce cas, le répertoire /IMG/ n'est plus accessible depuis un navigateur et l'URL d'un document devient par exemple mon_site/spip.php?action=acceder_document&arg=23&cle=1c88992fb5082e4a76a818675282a964fedfb0cb&file=jpg%2Fpenguins.jpg Lorsqu'une image a une vignette personnalisée, cette vignette est stockée dans le répertoire /IMG/ et la balise #LOGO_DOCUMENT utilise l'URL de la vignette dans /IMG/ même si l'accès aux pièces jointes est filtré. Aussi, la vignette *ne s'affiche pas* car /IMG/ n'est plus accessible depuis un navigateur. Remarque : si on utilise #LOGO_DOCUMENT avec le filtre image_réduire, la version réduite de la vignette s'affiche. En effet, la version réduite de la vignette est stockée dans local/cache-vignettes/... qui est accessible depuis un navigateur (c'est-à-dire que la version réduite de la vignette n'est pas protégée). La fonction generer_url_document_dist génère, le cas échéant, une URL avec "spip.php?action=acceder_document", en revanche la fonction vignette_logo_document ne le fait pas. Une piste peut consister à modifier la fonction vignette_logo_document, ainsi que la fonction _image_valeurs_trans (car cette dernière ne tient pas compte du cas d'une URL du type "spip.php?action=acceder_document"). Cordialement, Equipement
b_b commented 6 years ago
Owner

Salut, j'hésite à basculer le ticket sur le projet Medias, à voir.

De plus, observes-tu aussi le problème sur la branche 3.1 ? Amha, il faut d'abord envoyer le correctif sur la 3.2 et la 3.1, et on verra ensuite si u report en 3.0 est possible.

Sinon, as-tu un patch à proposer ?
Statut changé à En cours

Salut, j'hésite à basculer le ticket sur le projet Medias, à voir. De plus, observes-tu aussi le problème sur la branche 3.1 ? Amha, il faut d'abord envoyer le correctif sur la 3.2 et la 3.1, et on verra ensuite si u report en 3.0 est possible. Sinon, as-tu un patch à proposer ? **Statut changé à En cours**
Poster

Bonjour,

J'ai constaté le même problème sous SPIP 3.1.

La fonction vignette_logo_document est dans le plugin Medias, mais la fonction _image_valeurs_trans est dans SPIP, aussi j'ai ouvert ce ticket pour SPIP.

Pour patcher la fonction vignette_logo_document, une piste consiste à reprendre une partie de la function generer_url_document_dist (medias/inc/documents.php).
Pour la fonction _image_valeurs_trans, je n'ai pas de proposition de patch. Par ailleurs, il y a peut-être d'autres fonctions de SPIP concernées.

Cordialement,
Equipement

Bonjour, J'ai constaté le même problème sous SPIP 3.1. La fonction vignette_logo_document est dans le plugin Medias, mais la fonction _image_valeurs_trans est dans SPIP, aussi j'ai ouvert ce ticket pour SPIP. Pour patcher la fonction vignette_logo_document, une piste consiste à reprendre une partie de la function generer_url_document_dist (medias/inc/documents.php). Pour la fonction _image_valeurs_trans, je n'ai pas de proposition de patch. Par ailleurs, il y a peut-être d'autres fonctions de SPIP concernées. Cordialement, Equipement
Poster

La question de fond me semble être : "Est-ce que les vignettes personnalisées de document doivent être protégées ?"

Si oui, patcher la fonction vignette_logo_document ne suffira pas. En effet, si on utilise #LOGO_DOCUMENT avec le filtre image_réduire, la version réduite de la vignette est stockée dans local/cache-vignettes/... qui est accessible depuis un navigateur (c'est-à-dire que la version réduite de la vignette n'est pas protégée).

Si non, un piste consisterai à ce que les vignettes de documents soient toutes recopiées dans local/cache-vignettes/... (en version réduite ou, le cas échéant, en version non réduite).

Cordialement,
Equipement

La question de fond me semble être : "Est-ce que les vignettes personnalisées de document doivent être protégées ?" Si oui, patcher la fonction vignette_logo_document ne suffira pas. En effet, si on utilise #LOGO_DOCUMENT avec le filtre image_réduire, la version réduite de la vignette est stockée dans local/cache-vignettes/... qui est accessible depuis un navigateur (c'est-à-dire que la version réduite de la vignette n'est pas protégée). Si non, un piste consisterai à ce que les vignettes de documents soient toutes recopiées dans local/cache-vignettes/... (en version réduite ou, le cas échéant, en version non réduite). Cordialement, Equipement
Owner

Version cible mise à 3.1

**Version cible mise à 3.1**
Owner

C'est un problème insoluble et cette histoire de protection de documents ne fait que des mécontents car ça protège toujours trop ou pas assez. On laisse tel quel
Statut changé à Fermé

C'est un problème insoluble et cette histoire de protection de documents ne fait que des mécontents car ça protège toujours trop ou pas assez. On laisse tel quel **Statut changé à Fermé**
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.