Quelle est la meilleure pratique pour sécuriser votre facebook chatbot webhook?

voix
1

Je jouais avec le développement d' une plate - forme sur chatbot messenger facebook. Je suis passé par le document Facebook et ne pouvait pas trouver comment protéger mes webhookdes appels au hasard.

Par exemple, si les utilisateurs peuvent acheter des étoffes avec mes bots, un attaquant qui connaît le userId quelqu'un peut commencer à passer des commandes non autorisées en faisant des appels à mon webhook.

J'ai plusieurs idées sur la façon de protéger cela.

1) ma liste blanche api seulement les appels de facebook.
2) Créer quelque chose comme CSRF jetons avec les appels postback.

Des idées?

Créé 14/04/2016 à 10:48
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
6

Facebook a bien sûr déjà mis en place un mécanisme par lequel vous pouvez vérifier si les demandes faites à votre URL de rappel sont authentiques (tout le reste serait tout simplement une négligence de leur part) - voir https://developers.facebook.com/docs/graph-api / webhooks # receiveupdates :

La requête HTTP contiendra une X-Hub-Signaturetête qui contient la signature SHA1 de la charge utile de la demande, en utilisant le secret de l' application comme la clé, et préfixée avec sha1=. Votre point final de rappel peut vérifier cette signature pour valider l'intégrité et l' origine de la charge utile

S'il vous plaît noter que le calcul est effectué sur la unicode échappé à la version de la charge utile, avec des chiffres hexadécimaux minuscules. Si vous calculez seulement contre les octets décodés, vous finirez avec une signature différente. Par exemple, la chaîne äöådoit être échappé à \u00e4\u00f6\u00e5.

Créé 14/04/2016 à 11:35
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more