objectif
Réduire le risque DoS sur int(str) en bornant le nombre de chiffres (3.11+).
code minimal
import sys
if hasattr(sys, "set_int_max_str_digits"):
old = sys.get_int_max_str_digits()
sys.set_int_max_str_digits(1000)
print(sys.get_int_max_str_digits() == 1000) # attendu: True
else:
print(True) # API non disponible: rien à faire
utilisation
import sys
if hasattr(sys, "set_int_max_str_digits"):
sys.set_int_max_str_digits(2000)
print(sys.get_int_max_str_digits() == 2000)
else:
print(True)
variante(s) utile(s)
import sys
print(hasattr(sys, "set_int_max_str_digits"))
notes
- Disponible en Python 3.11+; sur versions antérieures, ignorez.
- Fixez une limite raisonnable selon vos besoins (ex: 1000–5000).