lunedì 24 dicembre 2018

I pericoli nascosti nei caratteri non visibili

La stringa che segue è composta da 7 caratteri:
a​​​​​b
Non ci credete? Provate a copiarla e incollarla in un editor, e contare i caratteri muovendovi con le freccette, partendo dalla sinistra della "a" per finire alla destra della lettera b.
La stringa "a​​​​​b" che vedete contiene 5 caratteri invisibili tra la "a" e la "b" ma non sono nascosti artificiosamente, sono cinque "zero width whitespace", ovvero cinque spazi di dimensione nulla. Ebbene si, esistono dei caratteri di questo tipo.

Dov'è il problema con questi caratteri, ed altri di questo tipo?
Immaginate di registrare dei nickname univoci, ma composti da qualsiasi carattere (basta stare attenti in fase di output in fondo): ad un rompiscatole basterebbe registrare nuovi utenti fittizi ed aggiungere questi caratteri nel nickname per fingersi qualcun'altro. Agli occhi degli altri utenti sarà lo stesso nickname.

Nessun commento:

Posta un commento