LINUX.ORG.RU

Отключить csrf в Django

 , ,


2

1

Необходимо отключить проверку csrf на POST запросы. Я пишу просто API на Django, к API можно получить доступ только по секретному ключу (150 знаков), и даже если есть ключ, то еще нужна авторизация, после успешной авторизации выдается access_token на время, потом нужно обновлять, так что в общем-то не вижу надобности в csrf.
Сейчас сделал что есть отдельный метод у API csrf_token который будет возвращать этот самый токен, но мне такое решение не нравится

★★★

Последнее исправление: Int64 (всего исправлений: 1)

У всех запросов что ли отключить надо?

FIL ★★★★
()

Если нет, то юзай декоратор

from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def view(request):
    pass

FIL ★★★★
()

Лучше всё-таки декоратор для конкретных обработчиков добавить

Goury ★★★★★
()
Ответ на: комментарий от Int64

Попробуй доки почитать. Они там запутанные местами, но в них таки есть вся нужная инфа.

Goury ★★★★★
()
Ответ на: комментарий от Int64

Ты же говоришь у тебя API на django, т.е. запросы скорее всего делаются через ajax? Тогда твоя ссылка явно говорит:

But when I use Ajax to send a request, Django still respond 'csrf token is incorrect or missing'

Дело в том, что полностью отключить csrf проверку для всех запросов нельзя, без патчинга исходников самой джанги.

Только отдельных запросов, используя декоратор, указанный выше.

pawnhearts ★★★★★
()
Ответ на: комментарий от Int64

* я только пару дней в Django работаю

* Отключить csrf в Django

наверно это вопрос номер 1 :)

fMad ★★
()
Последнее исправление: fMad (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.