Проверка CSRF не удалась. Запрос отменен. (Python Модуль запроса) - PullRequest
0 голосов
/ 28 февраля 2020

У меня есть эта функция в моем views.py (Django проекте)

def boardsJson(request):
    user=request.GET.get('user')
    password=request.GET.get('password')
    :
    :
    Bla Bla Bla 
    :
    :
    return HttpResponse("Login Success")

Я пытаюсь войти в систему с помощью этого модуля запроса.

import requests
URL = "http://35.196.206.72:8000/boardsJson/"
PARAMS = {
    'user':'1234567890',
    'password':'kak',
    }
r = requests.get(url = URL, params = PARAMS)
print(r.text)

Все хорошо, пока Я использую метод GET для входа в систему. Но если я использую метод POST (я только что заменил «GET» на «POST» везде где-то), я получаю сообщение, похожее на приведенное ниже.

  <p>CSRF verification failed. Request aborted.</p>
  <p>You are seeing this message because this site requires a CSRF cookie when submitting forms. This cookie is required for security reasons, to ensure that your browser is not being hijacked by third parties.</p>
  <p>If you have configured your browser to disable cookies, please re-enable them, at least for this site, or for âsame-originâ requests.</p>

Поэтому, пожалуйста, помогите мне решить его. Спасибо.

1 Ответ

0 голосов
/ 28 февраля 2020

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

from django.views.decorators.csrf import csrf_exempt

@csrf_exempt
def boardsJson(request):
    user=request.GET.get('user')
    password=request.GET.get('password')
    :
    :
    Bla Bla Bla 
    :
    :
    return HttpResponse("Login Success")

См. https://docs.djangoproject.com/en/3.0/ref/csrf/#unprotected -view-needs -The-CSRF-токен

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...