Comment se protéger contre les CSRF lors de l'utilisation de Backbone.js pour publier des données?

Backbone.js gère l'affichage des données au serveur sous le capot, donc il n'est pas facile d'insérer un jeton CSRF dans la charge utile. Comment puis-je protéger mon site contre les CSRF dans cette situation?

Dans cette SORTE de réponse: https://stackoverflow.com/a/10386412/954376, la suggestion est de vérifier que les x-Requested-En-tête pour être XMLHTTPRequest. Est-ce suffisant pour bloquer tous les CSRF tente?

Dans Django docs, il est suggéré d'ajouter un jeton CSRF dans un autre en-tête personnalisé à chaque requête AJAX: https://docs.djangoproject.com/en/1.5/ref/contrib/csrf/#ajax. Est-ce nécessaire?

Je comprends, si l'attaque utilise le formulaire masqué, je suis sûr par tout en assurant la demande est de XMLHTTPRequest. Mais est-il une attaque CSRF trucs qui peuvent falsifier les en-tête?

"Je suis sûr par tout en assurant la demande est de XMLHTTPRequest" — Vous ne pouvez pas garantir que.

OriginalL'auteur NeoWang | 2013-08-08