Backbone.js gestisce la registrazione dei dati sul server, quindi non esiste un modo semplice per inserire un token CSRF nel payload. Come posso proteggere il mio sito contro CSRF in questa situazione?Come proteggere contro CSRF quando si utilizza Backbone.js per inviare dati?
In questa risposta SO: https://stackoverflow.com/a/10386412/954376, il suggerimento è di verificare che l'intestazione x-Requested-By sia XMLHTTPRequest. Basta questo per bloccare tutti i tentativi CSRF?
In Django docs, il suggerimento è di aggiungere un token CSRF in un'altra intestazione personalizzata in ogni richiesta AJAX: https://docs.djangoproject.com/en/1.5/ref/contrib/csrf/#ajax. È necessario?
Capisco se l'attacco utilizza la forma nascosta, sono sicuro semplicemente assicurandomi che la richiesta provenga da XMLHTTPRequest. Ma ci sono trucchi di attacco CSRF che possono forgiare l'intestazione?
"Sono al sicuro da solo assicurando la richiesta proviene da XMLHTTPRequest "- Non è possibile garantirlo. – Quentin