Development #6134
Pouvoir spécifier les types mime autorisés pour un upload
0%
Description
En complément de la possibilité d'exprimer le type de fichier attendu (#5732), il faudrait pouvoir refuser un upload qui ne se conforme pas à l'attente. (attention à vérifier le type mime côté serveur, pas se contenter de regarder ce qui est renseigné par le client).
Pour étendre la liste actuelle (son, vidéo, image), il faut sans doute une page de paramétrage où l'admin du site peut définir sa série de (libellé, types mime) qui seront présentés par le champ.
Fichiers
Historique
Mis à jour par Frédéric Péters il y a plus de 9 ans
- Fichier 0002-settings-add-a-file-types-section-6134.patch 0002-settings-add-a-file-types-section-6134.patch ajouté
- Fichier 0003-form-turn-file-type-check-into-a-hard-check-6134.patch 0003-form-turn-file-type-check-into-a-hard-check-6134.patch ajouté
- Patch proposed changé de Non à Oui
L'ajout d'une gestion des types connus de wcs depuis l'admin puis la vérification dure de ce qui est uploadé (avec python-magic si disponible (le python-magic de Debian, qui ne ressemble pas à celui sur github…)).
Mis à jour par Frédéric Péters il y a plus de 9 ans
- Fichier 0002-settings-add-a-file-types-section-6134.patch 0002-settings-add-a-file-types-section-6134.patch ajouté
Mise à jour du patch avec des tests pour l'interface d'admin.
Mis à jour par Thomas Noël il y a plus de 9 ans
Frédéric Péters a écrit :
Mise à jour du patch avec des tests pour l'interface d'admin.
Sur le 0002, il manque sans doute un r += htmltext('</li>')
entre les lignes 286 et 287 (quel scandale !).
J'aurai trouvé plus joli d'avoir le principe de mise à jour des formdef dans une méthode de classe sur FormDef, pour que ça soit dans formdef.py et pas au fond d'un _q_lookup dans admin/settings.py... (et parce qu'on en aura besoin lors d'import, sans doute ?)
Mis à jour par Thomas Noël il y a plus de 9 ans
Sur 0003, peut-être qu'il faudrait construire le magic_object à chaque vérification, pour qu'une mise à jour des mimetypes sur le système soit bien prise en compte ? (mais bon, un restart de wcs, ça peut se comprendre aussi). Sinon ça me semble ok !
Mis à jour par Frédéric Péters il y a plus de 9 ans
- Fichier 0002-settings-add-a-file-types-section-6134.patch 0002-settings-add-a-file-types-section-6134.patch ajouté
- Fichier 0003-form-turn-file-type-check-into-a-hard-check-6134.patch 0003-form-turn-file-type-check-into-a-hard-check-6134.patch ajouté
J'ai déplacé dans formdef.py mais gardé une fonction générale, passant sur tous les formdefs; il sera temps d'en extraire une méthode travaillant sur un unique formdef quand le besoin sera là. Pour le chargement systématique de magic_object, j'ai regardé, ça prend chez moi un petit millième de seconde, j'ai du coup modifié l'affaire pour que ça soit systématique.
Mis à jour par Frédéric Péters il y a plus de 9 ans
- Statut changé de En cours à Résolu (à déployer)
commit 4a91c263ea1ed26e67f71849c411293f14e796a3 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Fri Dec 12 14:39:31 2014 +0100 form: turn file type check into a hard check (#6134) commit 476aa415d434dd4ef0ba4192ca00e7b58cb865d6 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Fri Dec 12 13:55:25 2014 +0100 settings: add a file types section (#6134)