Ошибка CSRF При переходе с Perl на Django

#django #perl #django-csrf

#django #perl #django-csrf

Вопрос:

У меня есть сайт, на котором пользователи могут входить в систему с интерфейса perl, а затем перенаправляются на сайт django. Сайт находится в том же домене, возможно, в другом поддомене, но, тем не менее, в том же домене. К сожалению, мы получаем сообщение об ошибках типа «отсутствует или неверен токен CSRF». Как я могу это исправить?

Спасибо

Ответ №1:

Вы передаете токен CSRF обратно в django?

Ознакомьтесь с документами CSRF http://docs.djangoproject.com/en/dev/ref/contrib/csrf/#exceptions
Там есть много хорошей информации.

Например, обратите внимание на поддомены:

Поддомены По умолчанию CSRF cookies привязаны к поддомену, для которого они установлены. Это означает, что форма обслуживается из одного поддомена (например server1.example.com ) не сможет иметь цель в другом поддомене (например server2.example.com ). Это ограничение можно снять, установив значение CSRF_COOKIE_DOMAIN примерно таким «.example.com «.

Вы также можете отключить защиту CSRF для любого представления, которое выдает эту ошибку (по ссылке выше) через @csrf_exempt декоратор.

Комментарии:

1. У него не будет токена CSRF, если пользователь начнет с интерфейса perl. Декоратор @csrf_exempt — это правильный путь.