Добавление защиты CSRF в простые формы комментариев в Django - PullRequest
1 голос
/ 29 апреля 2010

У меня есть бланки комментариев в Django, и я хотел бы знать следующее:

  1. Должен ли я добавить CSRF в формы?
  2. Если я хочу использовать простой метод render_comment_form, как его добавить?
  3. Если я не могу добавить это так, как лучше всего это делать?

Кажется, что каждый урок или дискуссия по этому вопросу имеет свой подход, и я не уверен, что понимаю, как все это работает.

1 Ответ

1 голос
/ 29 апреля 2010

Мой ответ предполагает, что вы используете Django 1.2:

  1. Да! Вы должны защитить все свои данные, отправленные POST-запросами на сервер, от CSRF-атак.
  2. Вам не нужно добавлять токен самостоятельно. Это уже сделано Джанго. Взгляните на шаблон по умолчанию, который используется тегом render_comment_form , и вы увидите, что csrf_token уже включен. Вы можете перезаписать этот шаблон в своем проекте, и включить в него токен CSRF так же просто, как записать {% csrf_token %} в форму.
  3. Существует способ защитить ваши формы, даже если вы не установили токены в шаблонах. Посмотрите документацию django на эту тему . Но этот метод помечен как устаревший метод , поэтому использовать его не рекомендуется - он предусмотрен только для обратной совместимости с версиями Django более ранних, чем 1.2.
...