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)
[^] # Re: Erreur de syntaxe
Posté par lovasoa (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 :
Et la faille de sécurité sera toujours présente.