#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 — это правильный путь.