<!DOCTYPE html>
<html data-lt-installed="true">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body style="padding-bottom: 1px;">
<p>Pour compléter ce qu'a dit Marc, je dirais qu'il faudrait :</p>
<p>- Utiliser f-string dans la mesure du possible (je ne sais pas si
flask est en Python3)</p>
<p>- Détecter toute présence des caractères ';' et '%' dans les
entrées et annuler toute la requête</p>
<p>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).</p>
<p>dc<br>
</p>
<br>
</body>
<lt-container></lt-container>
</html>