• [^] # Re: Erreur de syntaxe

    Posté par (site web personnel) . En réponse au journal Petit défi Python. Évalué à 2.

    Les f-strings sont au contraire plus sûres que .format() ! Comme on marque explicitement la chaîne à formater, elle ne peut pas être contrôlée par un attaquant. Ici, la faille de sécurité vient du fait que l'on appelle .format() sur une chaîne qui est en partie contrôlée par l'utilisateur.

    On peut très bien remplacer la f-string par :

    to_format = """
    Printing a {width}-character wide box:
    [Age: {{self.age:{width}}} ]""".format(width = self.width)

    Et la faille de sécurité sera toujours présente.