Токен CSRF отсутствует - PullRequest
       71

Токен CSRF отсутствует

0 голосов
/ 03 августа 2020

Я работаю с flask и пытаюсь добавить новый роут, который обрабатывает POST-запросы, отправленные пользователем, в моем js коде. При тестировании сервера (без использования Front) после моего POST-запроса у меня возникает проблема

400 Bad Request
Bad Request
The CSRF token is missing

Вот мой код для этого запроса

@module.route('/check_answer', methods=['POST'], host=Config.HOST)

def check():
data = request.get_json()
user_ans = data['user_ans']
right_ans = data['right_ans']
return jsonify({'user_ans': user_ans, 'right_ans': right_ans})

Я не смог найти ответ на в этом случае, но если он существует, может ли кто-нибудь поделиться им со мной?

1 Ответ

0 голосов
/ 03 августа 2020

Вам необходимо добавить csrf_token в вашу форму.

При использовании FlaskForm визуализируйте поле CSRF формы как обычно.

<form method="post">
    {{ form.csrf_token }}
</form>

Если шаблон не использует FlaskForm , отобразить скрытый ввод с токеном в форме.

<form method="post">
    <input type="hidden" name="csrf_token" value="{{ csrf_token() }}"/>
</form>

...