Ποια είναι η καλύτερη πρακτική για την εξασφάλιση facebook chatbot webhook σας;

ψήφοι
1

Παίζω γύρω με την ανάπτυξη ενός chatbot στην πλατφόρμα του Facebook Messenger. Πήγα μέσα από το έγγραφο του Facebook και δεν μπορούσε να βρει τον τρόπο για την προστασία μου webhookαπό τυχαία κλήσεις.

Για παράδειγμα, αν οι χρήστες μπορούν να αγοράσουν τρόφιμα με bots μου, ένας εισβολέας που ξέρει userId κάποιου μπορεί να αρχίσει τη διάθεση μη εξουσιοδοτημένη παραγγελίες από την πραγματοποίηση κλήσεων σε webhook μου.

Έχω πολλές ιδέες για το πώς να προστατεύσουν αυτό.

1) Λευκή Λίστα api μου σε κλήσεις μόνο από το facebook.
2) Δημιουργία κάτι σαν CSRF τις μάρκες με τις κλήσεις postback.

Καμιά ιδέα?

Δημοσιεύθηκε 14/04/2016 στις 10:48
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
6

Το Facebook έχει φυσικά ήδη εφαρμόσει έναν μηχανισμό με τον οποίο μπορείτε να ελέγξετε αν οι αιτήσεις για τη διεύθυνση URL επανάκλησης σας είναι γνήσια (ό, τι άλλο θα ήταν απλά αμέλεια εκ μέρους τους) - δείτε https://developers.facebook.com/docs/graph-api / webhooks # receiveupdates :

Το αίτημα HTTP θα περιέχει μια X-Hub-Signatureκεφαλίδα που περιέχει την υπογραφή SHA1 του αιτήματος ωφέλιμου φορτίου, χρησιμοποιώντας το μυστικό app ως το κλειδί, και με πρόθεμα sha1=. Επανάκλησης τελικό σημείο σας μπορεί να επαληθεύσει αυτή την υπογραφή για την επικύρωση της ακεραιότητας και της προέλευσης του ωφέλιμου φορτίου

Παρακαλείστε να σημειώσετε ότι ο υπολογισμός γίνεται με δραπέτευσε Unicode εκδοχή του ωφέλιμου φορτίου, με πεζά δεκαεξαδικά ψηφία. Αν απλά υπολογίζει κατά τα αποκωδικοποιημένα bytes, θα καταλήξετε με μια διαφορετική υπογραφή. Για παράδειγμα, η συμβολοσειρά äöåθα πρέπει να διαφύγει με \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