⬇ Scarica il santino: ·
San Billion Laughs, che seppellì i parser dalle risate
Patrono dei parser XML, delle entità che si moltiplicano e di chi non capisce la battuta ma ride lo stesso.
Vita
Agli inizi degli anni Duemila si scoprì che bastava un piccolo documento XML per mettere in ginocchio un server. Si definisce un'entità lol che vale "lol", poi lol2 che ne contiene dieci, lol3 che contiene dieci lol2, e così via fino a lol9: pochi byte che, espansi, diventano un miliardo di risate e gigabyte di memoria. Colpì libxml2 e molti altri, e da allora ogni parser serio porta un limite alle espansioni.
Preghiera
O San Billion Laughs, che con dieci righe riempi tutta la RAM, metti un limite alle nostre entità e un freno alle nostre risate. Amen.
Come si festeggia
Si festeggia disabilitando le DTD dove non servono, limitando l'espansione delle entità e raccontando una barzelletta, una volta sola.
Ride bene chi ride ultimo, ma il parser non arriva alla fine.