Je connais bien le langage Python et j'ai fini par trouver la solution mais j'aurai jamais réussi sans les trucs filés dans les commentaires. Ça me confirme que ma carrière de hacker est pas prêt de décoller :-)
Sinon, outre l'erreur de laisser l'utilisateur contrôler la chaîne de formattage, le script traîne aussi l'erreur de laisser la largeur en l'état de string. Puisqu'on attend un entier, autant la convertir tout de suite en entier:
self.width = int(input("How wide do you want the nice box to be ? ")) Et là, plus de faille de sécurité.
Bon, sinon, on constate plus il y a de magie dans le langage, plus il s'expose à des failles soit de surface d'attaque, soit de mauvaise compréhension des utilisateurs. Et dans Python, il y a beaucoup de magie...
# Impressionnant
Posté par Philippe F (site web personnel) . En réponse au journal Chaînes de formatage et sécurité en python (solution au "Petit Défi Python"). Évalué à 10.
Je connais bien le langage Python et j'ai fini par trouver la solution mais j'aurai jamais réussi sans les trucs filés dans les commentaires. Ça me confirme que ma carrière de hacker est pas prêt de décoller :-)
Sinon, outre l'erreur de laisser l'utilisateur contrôler la chaîne de formattage, le script traîne aussi l'erreur de laisser la largeur en l'état de string. Puisqu'on attend un entier, autant la convertir tout de suite en entier:
Et là, plus de faille de sécurité.self.width = int(input("How wide do you want the nice box to be ? "))
Bon, sinon, on constate plus il y a de magie dans le langage, plus il s'expose à des failles soit de surface d'attaque, soit de mauvaise compréhension des utilisateurs. Et dans Python, il y a beaucoup de magie...