Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

cr  01.04.2012      r+  22.10.2024      r-  22.10.2024      Pierre Pinard.         (Alertes et avis de sécurité au jour le jour)

BBCode est un langage de balise très « léger » par rapport au langage de balise HTML permettant d'écrire des pages « riches » constituant les sites Web (WWW - Naissance du Web).

BBCode permet d'enrichir de manière très limitée les messages écrits par des contributeurs inconnus et « à risques » dans les forums de discussion utilisant ce langage, soit la quasi-totalité des forums de discussion. Par exemple, il est impossible d'injecter un script (du code exécutable) dans un message ou d'ouvrir un page Web quelconque à l'intérieur d'un message (iFrame). Le code du forum doit par ailleurs filtrer le contenu écrit par le contributeur, car il existe des « astuces » qu'il faut éliminer à la volée.

Dans « BBCode », BB est l'abréviation de « Bulletin Board », formellement un tableau sur lequel les gens accrochent des prospectus et d'autres annonces, des messages publics, etc. Avec l'avènement du Web et des groupes de discussion, « Bulletin Board » est devenu un synonyme de forum ou newsgroup.

Le langage BBCode , bien qu'un langage de balise comme HTML, avec, par exemple, la notion de balise d'ouverture et de fermeture, s'en distingue sur trois points :

  • Le nombre de balises (de « possibilités ») est très limité, afin d'empêcher les contributeurs de déborder (taille des messages, animations, etc.) ou d'être dangereux (exécution de codes, etc.).
  • Les balises BBCode, qui reprennent certaines balises HTML, sont délimitées par des crochets ([ et ]) au lieu de chevrons (« et »), ce en quoi on s'arrache les cheveux sans jamais avoir compris pourquoi cette différenciation.
  • Les noms des balises HTML sont totalement édictés par une organisation centrale mondiale, présidée par l'inventeur du Web (Tim Berners-Lee) et nul ne peut en sortir (Microsoft a essayé avec son générateur de failles de sécurité en flux continu appelé Internet Explorer et s'est fait jeter au point d'abandonner définitivement Internet Explorer au profit d'Edge qui devrait respecter les standards), alors que dans BBCode, les noms des balises peuvent être déterminés par le webmaster du forum. Là aussi on s'arrache les cheveux, si tant est qu'il en reste, car, pour contribuer avec la même contribution sur plusieurs forums, il faut maîtriser les particularismes exaspérants de chacun ! Par exemple, pour écrire un texte en rouge, on doit, selon les BBCode, utiliser :
    • [color="rouge"]Ce texte sera écrit en rouge[/color]
    • [color=rouge]Ce texte sera écrit en rouge[/color]
    • [color="red"]Ce texte sera écrit en rouge[/color]
    • [color=red]Ce texte sera écrit en rouge[/color]
    • [color="ff0000"]Ce texte sera écrit en rouge[/color]
    • [color="#ff0000"]Ce texte sera écrit en rouge[/color]
    • [color=#ff0000]Ce texte sera écrit en rouge[/color]
    • [rouge]Ce texte sera écrit en rouge[/rouge]
    • Etc.

Pour convertir du HTML en BBCode et inversement, quels que soient les noms des balises utilisées, il existe Keetag dont on discute ici et dont on peut voir un jeu d'essai ici.