Development #46770
vérifier le type du paramètre category_id reçu
Début:
18 septembre 2020
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
PATH_INFO '/backoffice/management/listing' QUERY_STRING 'offset=0&limit=20&order_by=1&status=1&start=&end=&category_id=hello&q=2'
Ça échouera uniquement au niveau de la db quand postgresql fera un cast de la valeur en entier, et dire
Exception: type = '<class 'psycopg2.DataError'>', value = 'ERREUR: syntaxe en entrée invalide pour l'entier : « hello » ... File "/usr/lib/python3/dist-packages/wcs/backoffice/management.py", line 871, in listing 869 criterias = self.get_global_listing_criterias() 870 criterias.append(Null('anonymised')) # exclude anonymised forms > 871 total_count = sql.AnyFormData.count(criterias) 872 if offset > total_count: 873 get_request().form['offset'] = '0'
La vérification doit sans doute se faire uniquement en mode postgresql parce que c'était légitime il y a très longtemps d'avoir des catégories avec des lettres dans l'id.
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Fichier 0001-misc-check-category_id-from-query-string-is-an-integ.patch 0001-misc-check-category_id-from-query-string-is-an-integ.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
La vérification doit sans doute se faire uniquement en mode postgresql parce que c'était légitime il y a très longtemps d'avoir des catégories avec des lettres dans l'id.
Sauf que le paramètre category_id concerne uniquement la vue globale qui n'est de toute façon dispo qu'en postgresql.
Mis à jour par Lauréline Guérin il y a plus de 3 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 784670ed106effca25e24dec5731826186976096 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Tue Sep 22 15:06:57 2020 +0200 misc: check category_id from query string is an integer (#46770)
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
misc: check category_id from query string is an integer (#46770)