Méfiez vous de U+2028 !

Le caractère unicode U+2028 porte aussi le nom de LINE SEPARATOR. C’est un caractère invisible qui selon l’âge de votre éditeur de texte affichera un retour à la ligne sans changement de paragraphe, ou sera simplement ignoré. Sa présence dans un objet JSON sur une de mes applications web a bloqué un ancien interpréteur, alors que le même objet était reconnu valide sur le site jsonlint.

Curieusement, il est aussi autorisé, quoique fortement déconseillé dans les noms de domaines. Il fait d’ailleurs partie de la liste des caractères interdits par certains navigateurs dans les url à cause des problèmes de sécurité qu’ils posent. En effet, cette liste permettrait de créer des noms de domaines ressemblant à des noms existant déjà, et à diriger les internautes vers de faux sites pour leur prendre leurs données confidentielles.

Pour plus d’information, voyez la page de wikipedia sur les attaques homographiques (en)