Запрещено (403) Проверка CSRF не удалась. Запрос прерван. Причина отказа указана: Проверка происхождения не удалась не соответствует ни одному доверенному происхождению

Help

Причина отказа:

Origin checking failed - https://praktikum6.jhoncena.repl.co does not match any trusted origins.

В общем, это может произойти, когда существует настоящая подделка межсайтовых запросов, или когда механизм CSRF в Django использован неправильно. Для POST-форм вам необходимо убедиться, что:

Your browser is accepting cookies.
The view function passes a request to the template’s render method.
In the template, there is a {% csrf_token %} template tag inside each POST form that targets an internal URL.
If you are not using CsrfViewMiddleware, then you must use csrf_protect on any views that use the csrf_token template tag, as well as those that accept the POST data.
The form has a valid CSRF token. After logging in in another browser tab or hitting the back button after a login, you may need to reload the page with the form, because the token is rotated after a login.

Вы видите раздел помощи на этой странице, потому что в файле настроек Django установлено значение DEBUG = True. Измените это значение на False, и будет отображаться только начальное сообщение об ошибке.

Вы можете настроить эту страницу с помощью параметра CSRF_FAILURE_VIEW.

Проверьте, используете ли вы Django 4.0. Я использовал 3.2, и у меня произошел сбой при обновлении до 4.0.

Если вы используете версию 4.0, это было мое исправление. Добавьте эту строку в settings.py. Она не требовалась, когда я использовал 3.2, а теперь я не могу отправить форму, содержащую CSRF, без нее.

CSRF_TRUSTED_ORIGINS = ['https://*.mydomain.com','https://*.127.0.0.1']

Просмотрите эту строку на предмет необходимых изменений, например, если нужно поменять https на http.

Первопричиной является добавление проверки заголовков происхождения в 4.0.

https://docs.djangoproject.com/en/4.0/ref/settings/#csrf-trusted-origins

Изменения в Django 4.0:

Проверка исходного заголовка не выполняется в старых версиях.

Вернуться на верх