Джанго csrf в мобильных приложениях

Я разрабатываю приложение для Android, использую django1.6 на стороне сервера, я хочу отправить некоторые данные на сервер. Но выдает ошибку 403.

Что мне нужно сделать, чтобы устранить ошибку (токен CSRF отсутствует или неверен)?

Стоит ли удалять промежуточное ПО csrf (удаление django.middleware.csrf.CsrfViewMiddleware из файла настроек)?

Если нет, то какое альтернативное решение =


person Jisson    schedule 26.06.2014    source источник


Ответы (2)


Эта проблема не специфична для django. Если вы выполните поиск CSRF Restful, вы найдете много вопросов и ответов по этому поводу. например этот

На базовом уровне я бы сказал, что CSRF — это механизм устранения проблем безопасности, затрагивающих людей, использующих браузеры. Таким образом, люди, использующие мобильные приложения, вряд ли пострадают от этого.

Вы должны сохранить уровень CSRF для людей, которые получают доступ к вашему приложению из веб-браузеров, и создать другую схему для доступа к вашему API из других типов клиентов.

person Kinjal Dixit    schedule 26.06.2014
comment
мы также планируем получить доступ к приложению из веб-браузера. тогда что делать? - person Jisson; 10.07.2014

Да, это хорошая идея, потому что вам просто не нужно это для мобильного бэкэнда, а просто удалить

'django.middleware.csrf.CsrfViewMiddleware'

будет недостаточно, вам нужно добавить собственное промежуточное ПО, которое отключит CSRF.

Здесь решение http://www.soyoucode.com/2011/really-disable-csrf-django

person user2923089    schedule 26.06.2014