На моем сайте есть одна страница с двумя формами и 3 вызовами POST на основе ajax. Я использовал csrf_token
в одной из форм. Кроме того, чтобы быть в состоянии выполнить CSRF безопасных вызовов Ajax, я использую руководящие принципы размещены на официальной документации: https://docs.djangoproject.com/en/1.7/ref/contrib/csrf/ и этот блог: https://realpython.com/blog/python/django-and-ajax-form-submissions/django: csrf_token для нескольких форм и запросов ajax на одной странице
Как было предложен, с помощью этого peice кода https://gist.github.com/broinjc/db6e0ac214c355c887e5 в моем файле JavaScript, то кажется, что я могу выполнять запросы POST без каких-либо проблем.
Вопросы:
- Пользуется
csrf_token
в одной из форм, наряду с яваскрипта кода (как упоминалось выше) достаточно, чтобы обеспечить CSRF подделку? Должен ли я использоватьcsrf_token
во второй форме? - Как и было предложено в этом сообщении SO Generating CSRF tokens for multiple forms on a single page кажется, что использовать тот же токен должно быть хорошо. Однако, чтобы быть ясным, я использую
{% csrf_token %}
в своей первой форме, а не в скрытом поле, как упоминалось в сообщении. И я не используюcsrf_token
в своей второй форме. - Должен ли я делать что-нибудь дополнительное для моих аякс-звонков или они в порядке?
- Есть ли способ проверить в
views.py
функцию, что звонокcsrf
безопасен?
Сообщите мне, если вам нужна дополнительная информация, и я буду рад продолжить разработку.