Upload de logos bloqués par le `mod_security` d’Apache #4846

Closed
opened 1 year ago by marcimat · 0 comments
marcimat commented 1 year ago
Owner

Le mod_security bloque en indiquant Matched Data: image/svg+xml found within REQUEST_URI

Cf : https://discuter.spip.net/t/erreur-lors-dupload-de-logo-article/154818

Et l’analyse déduite : 

Donc en fait dans Bigup, je configure la librairie flow.js utilisée derrière en transmettant au serveur en paramètre, parmi d’autres choses, la valeur de l’attribut accept du champ input correspondant. Ce champ est configuré, pour les logos avec les mimes types qu’on accepte comme logos. Or depuis SPIP 4, on accepte maintenant les logos SVG. Du coup le champ accept contient donc la chaine image/svg+xml.

Je suppose que j’avais transmis cette donnée en pensant l’utiliser précocement côté serveur pour empêcher un upload si c’est pas le bon type de fichier qui est envoyé (en html 4 du moins je présume où le champ accept n’est pas traité côté navigateur ?) (traitement précoce qui n’a finalement pas été fait au final) ; de toutes façons c’était plutôt une mauvaise idée (enfin disons qu’on peut falsifier la valeur de accept côté navigateur, donc), ça n’empêche aucunement de devoir faire une réelle validation du type de fichier reçu ensuite dans la partie verifier() de son formulaire…

Donc… pour résumer… on doit pouvoir enlever la ligne 230 de bigup.js (déclaration du accept)

Le mod_security bloque en indiquant `Matched Data: image/svg+xml found within REQUEST_URI` Cf : https://discuter.spip.net/t/erreur-lors-dupload-de-logo-article/154818 Et l’analyse déduite :  Donc en fait dans Bigup, je configure la librairie flow.js utilisée derrière en transmettant au serveur en paramètre, parmi d’autres choses, la valeur de l’attribut `accept` du champ input correspondant. Ce champ est configuré, pour les logos avec les mimes types qu’on accepte comme logos. Or depuis SPIP 4, on accepte maintenant les logos SVG. Du coup le champ accept contient donc la chaine `image/svg+xml`. Je suppose que j’avais transmis cette donnée en pensant l’utiliser précocement côté serveur pour empêcher un upload si c’est pas le bon type de fichier qui est envoyé (en html 4 du moins je présume où le champ accept n’est pas traité côté navigateur ?) (traitement précoce qui n’a finalement pas été fait au final) ; de toutes façons c’était plutôt une mauvaise idée (enfin disons qu’on peut falsifier la valeur de accept côté navigateur, donc), ça n’empêche aucunement de devoir faire une réelle validation du type de fichier reçu ensuite dans la partie verifier() de son formulaire… Donc… pour résumer… on doit pouvoir enlever la ligne 230 de bigup.js (déclaration du accept)
marcimat closed this issue 1 year ago
b_b added this to the spip-4.0 milestone 1 year ago
b_b added the
bug
label 1 year ago
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.