Что является лучшей практикой для защиты вашего facebook Chatbot webhook?

голоса
1

Я играю с разработкой Chatbot на facebook мессенджера платформе. Я прошел через Facebook документ и не мог найти , как защитить мое webhookот случайных звонков.

Например, если пользователи могут купить питание с моими ботами, злоумышленник, который знает кого-то USERID может начать размещение несанкционированных заказов, делая звонки на мой webhook.

У меня есть несколько идей о том, как защитить это.

1) белый список мой апи только звонки от Facebook.
2) Создать что - то вроде CSRF токены с обратной передачи вызовов.

Есть идеи?

Задан 14/04/2016 в 10:48
источник пользователем
На других языках...                            


1 ответов

голоса
6

Facebook имеет, конечно , уже реализован механизм , с помощью которого вы можете проверить , если запросы , сделанные в ваш обратном вызове URL являются подлинными (все остальное будет просто небрежность со своей стороны) - см https://developers.facebook.com/docs/graph-api / webhooks # receiveupdates :

Запрос HTTP будет содержать X-Hub-Signatureзаголовок , который содержит SHA1 подпись полезной нагрузки запроса, используя приложение секрет , как ключ, и с префиксом sha1=. Ваш обратный вызов конечная точка может проверить эту подпись для проверки целостности и происхождения полезной нагрузки

Пожалуйста , обратите внимание , что расчет сделан на сбежавшем Юникоде версии полезной нагрузки, с строчными шестнадцатеричными цифрами. Если вы просто вычислить против декодированного байтов, вы будете в конечном итоге с другой подписью. Например, строка äöåдолжна быть экранированы в \u00e4\u00f6\u00e5.

Ответил 14/04/2016 в 11:35
источник пользователем

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