• # Grilled

    Posté par  . Évalué à 6.

    Damned, je viens de voir qu'un lien a déjà été publié. Pourtant j'avais cherché avant…

    https://linuxfr.org/users/dovik/liens/python-3-12-0-final-now-available

    Tant pis, je peux pas effacer le mien. Et puis je préfère la page de doc vers laquelle je pointe.

  • # Faille ?

    Posté par  . Évalué à 1.

    Je découvre la PEP-701, c'est pas une faille de sécurité potentielle ?

    J'imagine qu'il doit être possible de générer une fstring pour récupérer des informations sur le code exécutant. Exemple avec ce snippet à l'arache:

    search_string = request.arg("search_string")
    print(f"Résultats pour {search_string}")
    try {
      results = search_from_db(host, user, password, search_string)
    } except {
      results  = []
    }
    print_results(results)
    

    un f"{password}" devrait retourner des infos sensibles alors que c'était pas le cas, non?

    • [^] # Re: Faille ?

      Posté par  . Évalué à 6.

      Je pense pas, les fstrings ne sont pas générées, si le f"{password}" n’est pas explicitement dans le code il sera pas "généré", ou au moins interprété ?

      Le fait que ce soit imbriqué force l’évaluation de l’intérieur vers l’extérieur, et que qui est évalué "à l’intérieur" donc éventuellement avec les variables ne sera pas "ré-évalué" une fois l’évaluation initiale effectuée.

      Mais j’ai ptete pas compris.

      • [^] # Re: Faille ?

        Posté par  . Évalué à 6.

        Je confirme, tu ne peux pas changer le contenu du fstring à l'exécution. Le fstring est "compilé" en code python converti en AST compilé en bytecode au moment du chargement du script.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.