Gravatar couramment utilisé Blog perso de Paul Da Silva

Le FBML permet-il de voir des infos sensibles ?

Posted on | juin 14, 2010 | 4 Comments

Ca faisait un bout de temps que j’avais pas écrit sur facebook en découvrant un petit détail pour les chatouiller un peu. Et bien on va résoudre ce problème aujourd’hui en nous penchant sur une partie de l’architecture très importante du réseau social : le FBML.

Et là vous me dites WTF ?

Le FBML est le langage de balises mis à disposition des développeurs par Facebook. C’est une version enrichie du HTML avec des fonctions propres à Facebook en quelques sortes. Je m’en suis relativement peu servi dans mes développements d’applis (en même temps j’en ai relativement peu développé aussi) mais la doc est très complète et assez explicite…

Je me suis intéressé à cette partie des développement sur Facebook pour une raison qui ne vous est pas étrangère si vous êtes un(e) habitué(e) de mon blog : les fanpage dont il faut devenir fan pour voir le contenu.

C’est en effet un seul tag FBML qui s’occupe de faire cela : <fb:if-is-app-user>Contenu à cacher</fb:if-is-app-user>.

Tout le texte contenu entre les deux balises est invisible aux « non-fans » de la page ou de l’application.

Bon on a déjà vu que c’était fait à l’arrache et qu’une simple ligne de javascript permet de réafficher le contenu caché (qui est en fait présent dans la page mais caché par un simple « visibility:hidden » en CSS inline).

Jusque là rien de bien grave, cette fonction étant utilisée principalement pour cacher des contenus ultra-confidentiels tel qu’une revue de photos choc (apparues sur 4chan en 2001)… Mais là où ça se gâte c’est que la doc FBML nous présente plusieurs autres balises du même style :

  • <fb:visible-to-user uid=’12345′></fb:visible-to-user>
  • <fb:visible-to-owner></fb:visible-to-owner>
  • <fb:visible-to-friends></fb:visible-to-friends>

Je vous fait pas la description détaillée des balises je pense que c’est assez explicite comme cela (visible pour un seul user, pour le propriétaire de la page / l’appli, pour les amis du propriétaire de la page / l’appli).

Et sur la doc toujours Facebook de s’empresser d’ajouter la mention suivante :

Do not use this tag to display private or sensitive information. Content inside this tag is rendered to all users’ browsers, including those who have not granted full permissions to the application. For those who have not done so, the content is shown as white space on the page but it is still visible by viewing the page source.

Donc facebook est au courant du fait que des informations potentiellement sensibles peuvent être encapsulées dans ces balises censées justement protéger le contenu et, au lieu de sécuriser lesdites balises au niveau serveur, préfère mettre en garde les développeurs que ce n’est pas une bonne idée d’utiliser leurs technologies…

Commentaires

4 Responses to “Le FBML permet-il de voir des infos sensibles ?”

  1. Didier S
    juin 15th, 2010 @ 2 h 27 min

    Je ne suis pas forcément d’accord (désolé!). Ok, les balises peuvent être dangereuses, mais on peut peut-être leur trouver un intérêt (je vois pas vraiment, mais là n’est pas la question). Je trouve assez normal de sensibiliser et de responsabiliser le développeur d’applications.
    Par contre, soyons clairs, l’API Facebook permet vraiment de réaliser tout et n’importe quoi (plus souvent n’importe quoi, d’ailleurs) et de nombreuses petites applis sont mal codées. Mais j’ose rêver que les grosses applications restent produites par des développeurs « aguerris » qui sont habitués à ce genre de pièges retords.

  2. Le Loup
    juin 15th, 2010 @ 15 h 54 min

    Ayant utilisé cette api, il faut noter qu’ici il s’agit de la version fbml, mais que les fonctions php de l’api équivalente permettent de générer le code uniquement si ça match ou non (puisque le print ne se fera qui si ça match)

  3. Paul
    juin 15th, 2010 @ 16 h 27 min

    @Didier S : elles sont utiles mais il faut s’en méfier et elles pourraient facilement être améliorées par un appel en ajax au contenu par exemple avec une vérification côté serveur.

    @Le Loup : ayant utilisé cette API il y a fort longtemps je t’avoue que ce détail m’avait échappé – Ca me rassure un peu sur la confidentialité sauce Facebook, parce que si tout était géré côté client ça serait un tout petit peu grave !

  4. kiamaru
    juillet 12th, 2010 @ 23 h 23 min

    Bonjour

    comment utiliser ces codes pour que cela marche sur un blog sous wordpress par exemple?

    j’ai créé une page et ajouter les codes mais rien n’y fait.

    merci

Leave a Reply





Edito

Ancien journaliste, ancien entrepreneur, ancien (ir)responsable Pirate, actuel citoyen qui s'intéresse à la politique et à son évolution.

Read moar !.

Retrouvez moi sur :

Suivez moi sur twitter sur facebook sur wikipedia Ajouter ce blog a votre lecteur RSS

Bitcoin

bitcoin logo
1GZnMQ9wXyifxCnDEqg8CSGdngWcKWptHv

Piratons la démocratie

piratons la democratie

One more thing !

0100 0011 0110 1000 0110 0001 0110 1110 0110 0111 0110 0101 0111 0010 0010 0000 0110 1100 0110 0101 0010 0000 0110 1101 0110 1111 0110 1110 0110 0100 0110 0101 0010 0000 0110 0101 0110 1110 0010 0000 0111 0011 0010 0111 0110 0001 0110 1101 0111 0101 0111 0011 0110 0001 0110 1110 0111 0100 0010 0000 0010 1101 0010 0000 0110 1111 0110 1110 0010 0000 0111 0110 0110 0001 0010 0000 0110 0010 0110 1111 0110 1001 0111 0010 0110 0101 0010 0000 0111 0101 0110 1110 0010 0000 0110 0011 0110 1111 0111 0101 0111 0000 0010 0000 0011 1111

Tm9uIGNlbGVsIGzgIGVzdCBqdXN0ZSBwb3VyIHRlIGZhaXJlIHBlcmRyZSA1bW4gOyk=

Relationship Closeness Inventory

Promo code Genesis Mining

Sha 256 cloud mining

Best Bitcoin debit card

Zcash Mining