AngularJS : CSRF et Django, correctement configurer.

Lorsque vous souhaitez utiliser un peu d’AngularJS dans votre projet Django pour dynamiser votre application, vous risquez d’avoir un petit soucis avec CSRF.

Django utilise un système de Token pour protéger votre application de la vulnérabilité CSRF. Lorsque vous allez faire une requête via AngularJS ($http.post() par exemple), celle-ci se fera sans que le Token soit utilisé, provoquant une erreur 503 sur l’app Django. Il faut donc configurer AngularJS pour qu’il récupère le Token et l’ajoute aux headers de la requête.

Pour ce faire :

app.config(['$httpProvider', function($httpProvider) {
    $httpProvider.defaults.xsrfCookieName = 'csrftoken';
    $httpProvider.defaults.xsrfHeaderName = 'X-CSRFToken';
}]);

Et voilà, votre application fonctionnera 😉

Aymeric DERBOIS

J'ai 27 ans et je suis développeur. Je travail la plupart du temps sur des techno web, mais pas que. Étant à l'affût des nouveautés, j'adore découvrir tout et n'importe quoi dans l'informatique. Je suis amoureux de CakePHP et j'utilise au quotidien Django. Je suis très ouvert d'esprit :). J'aime bien utiliser AngularJS aussi de temps à autre pour faire du front. Au quotidien j'utilise Fedora/Ubuntu pour le desktop et CentOS pour mes serveurs. Par ailleurs je maîtrise le C/C++/Python/PHP/...

More Posts - Website

Follow Me:
Twitter

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.