Wat is de beste praktijken op uw Facebook-chatbot webhook veilig?

stemmen
1

Ik speel rond met het ontwikkelen van een chatbot op facebook messenger platform. Ik ging door de Facebook-document en kon niet vinden hoe ik mijn beschermen webhooktegen willekeurige gesprekken.

Bijvoorbeeld, als gebruikers kunnen levensmiddelen kopen met mijn bots, kan een aanvaller die iemands userId kan beginnen met het plaatsen ongeautoriseerde orders door te bellen aan mijn webhook kent.

Ik heb een aantal ideeën over hoe om deze te beschermen.

1) witte lijst mijn api om alleen oproepen van facebook.
2) Maak iets als CSRF tokens met de postback gesprekken.

Iemand een idee?

De vraag is gesteld op 14/04/2016 om 10:48
bron van user
In andere talen...                            


1 antwoorden

stemmen
6

Zie - Facebook heeft natuurlijk al een mechanisme waarmee u kunt controleren of de verzoeken die uw callback URL zijn echte (alles anders zou gewoon nalatigheid van hun kant) geïmplementeerd https://developers.facebook.com/docs/graph-api / webhooks # receiveupdates :

De HTTP-verzoek zal een bevatten X-Hub-Signatureheader die de SHA1 ondertekening van het verzoek payload bevat, met behulp van de app geheime als de sleutel, en voorafgegaan door sha1=. Uw callback eindpunt kan deze handtekening moet worden gecontroleerd om de integriteit en herkomst van de lading te valideren

Houd er rekening mee dat de berekening wordt gemaakt op de ontsnapte unicode versie van de lading, met kleine letters hexadecimale cijfers. Als je gewoon berekenen tegen de gedecodeerde bytes, zal je eindigen met een andere handtekening. Bijvoorbeeld, de string äöåmoet worden ontsnapt aan \u00e4\u00f6\u00e5.

antwoordde op 14/04/2016 om 11:35
bron van user

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