Платформа Django CSRF, имеющая много отказов

Вот хороший бесплатный сервис с общедоступным API: http://www.hostip.info/use.html

6
задан MikeN 19 November 2009 в 18:59
поделиться

2 ответа

Я действительно изо всех сил пытался понять это правильно, но в конце концов сделал это. Вот мои основные проблемы (Django 1.2 beta):

  1. Убедитесь, что ваше промежуточное ПО правильно, в соответствии с версией Django, которую вы используете. Это хорошо освещено в литературе по Django в Интернете.
  2. Убедитесь, что у вас есть {% csrf_token%} в каждой форме, сразу после открывающего тега для формы
  3. Это была моя основная проблема, убедитесь, что все ваши формы имеют страницу перехода, т. Е. Не 't do action = "" в вашей форме.
  4. Убедитесь, что у вас указаны правильные электронные письма с настройками. Мне пришлось сделать что-то вроде этого:

    EMAIL_HOST = 'mail.my-domain.com' EMAIL_HOST_USER = 'мое имя пользователя на сервере' EMAIL_HOST_PASSWORD = 'passwd' {{1 }} EMAIL_PORT = '26' # часто кажется 25 или 26 во многих сообщениях форума, которые я читаю (скрытый) # на размещенных доменах, убедитесь, что он настроен и отправляет SERVER_EMAIL = (скрытый) # Тот же адрес электронной почты, что и выше

    1. Добавьте request_context в конец вашего render_to_response

    return render_to_response ('contact.htm', {'favicon': r '____. ico', 'more_stuff': "......" 'more_stuff': "......" 'more_stuff': "......" {{1} }}, context_instance = RequestContext (request))

Убедитесь, что у вас есть:

TEMPLATE_CONTEXT_PROCESSORS = (
     "django.contrib.auth.context_processors.csrf",
     .....
   )

в вашем файле settings.py.

Обратите внимание, что на самом деле это не как сделать, это просто то, что я сделал, чтобы заставить свою работать. Причина, по которой я разместил его сейчас, заключается в том, что я вижу, как много людей на форумах, обсуждающих эту тему, просто отключают csrf_token.

15
ответ дан 8 December 2019 в 13:00
поделиться

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

2
ответ дан 8 December 2019 в 13:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: