Re: [SPAM] Re: Requêtes SQL en LIKE . ..% avec psycopg3

Daniel Cordey via gull <gull-04vmY7CpswVinyhjFObuvR+/[email protected]> Tue, 23 Apr 2024 12:59:45 +0200
Newsgroups gmane.org.user-groups.gull.general
Message-ID <[email protected]>
Pour compléter ce qu'a dit Marc, je dirais qu'il faudrait :

- Utiliser f-string dans la mesure du possible (je ne sais pas si flask 
est en Python3)

- Détecter toute présence des caractères  ';' et '%' dans les entrées et 
annuler toute la requête

Comme protection ultime, et lorsque les requêtes sont complexes, j'ai 
utilisé systématiquement PLY/SLY (Lex & Yacc pour Python) pour filtrer 
mes "entrées". Si les requêtes contiennent des dates, combinées avec des 
mots et des fréquences (par exemple). Un analyseur à base de 
lexique/grammaire est indispensable et surtout le seul moyen sûr et 
efficace de filtrer les entrées. Le filtrage à l'aide de regexp() ne 
peut être sûr que dans des cas extrêmement simples (mais c'est très rare 
finalement).

dc

_______________________________________________
gull mailing list
[email protected]
https://forum.linux-gull.ch/mailman/listinfo/gull