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

Daniel Cordey dc at pxcluster.com
Tue Apr 23 12:59:45 CEST 2024


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://forum.linux-gull.ch/pipermail/gull/attachments/20240423/6ee084a7/attachment.html>


More information about the gull mailing list