Je suis en train d'écrire en python une toute petite API JSON pour une appli. web d'archive de photos mycologique. En support à l'API principale, j'ai deux petites partie qui permettent un autocomplete d'une formulaire de recherche
par genre et espèce.

Le code (pour le framework Flask) d'un de ces support d'autocomplete est:

--8<--
@app.route('/genus/<genus>')
def genus(genus):
    with dbconn.cursor() as cur:
        cur.execute("""SELECT myco.genus.name
            FROM myco.genus
            WHERE myco.genus.name LIKE %s""", (genus.upper()+'%',))
        lsgenus = cur.fetchall()
        ls = []
        for genus in lsgenus:
            ls.append(genus[0])
    return jsonify(ls)
--8<--

Quel est la manière la plus appropriée d'exprimer la requête en LIKE ...% en SQL, avec psycopg3?
Mon code si dessus est-il safe en terme de SQL-injection?
Qu'en pensent ceux qui sont déjà passé par là?

--
Philippe Strauss
https://straussengineering.ch/

_______________________________________________
gull mailing list
gull@forum.linux-gull.ch
https://forum.linux-gull.ch/mailman/listinfo/gull

Répondre à