django中的CSRF
2017-09-18 20:04
92 查看
CSRF,跨站请求伪造,是django内置的一个中间件安全机制,相信大家都碰到过因为它而导致POST请求报错的情况,最简单的解决方案是在form中加入 csrf_token:
那么对于ajax请求如何处理呢?
其实加入csrf_token,就是在模板渲染时多渲染一个键值对,并在提交表单时发给了服务器作csrf验证。我们在发送ajax请求将这个键值对加上就好了:
这里以jQuery发送ajax请求为例:
<form action="" method="post"> {% csrf_token %} <input type="text" name="name"> ...... </form>
那么对于ajax请求如何处理呢?
其实加入csrf_token,就是在模板渲染时多渲染一个键值对,并在提交表单时发给了服务器作csrf验证。我们在发送ajax请求将这个键值对加上就好了:
这里以jQuery发送ajax请求为例:
$.ajax({ url: "{% url 'login' %}", type: "POST", data: { "username": username, "password": password, "valid_code": valid_code, // 就是下面这个 "csrfmiddlewaretoken": $("[name='csrfmiddlewaretoken']").val() }, success: function(res) { alert(res); }
相关文章推荐
- 详解利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击
- Django, csrf
- django中post提交表单时错误:CSRF verification failed. Request aborted
- django 1.2.1更新后 关于CSRF token missing or incorrect的问题
- Django POST请求 错误 forbidden(403) CSRF verification failed. Request aborted 解决方法
- 如何在asp.net mvc框架及django框架下面避免CSRF
- Django CSRF verification failed. Request aborted.的解决办法
- Django进阶之CSRF
- django中使用POST方法 使用ajax后出现“CSRF token missing or incorrect”
- Django CSRF 提交
- Django之CSRF
- django CSRF
- Django提交表单出错”django, CSRF token missing or incorrect”
- django CSRF token missing or incorrect.
- django-视图CBV模式、CBV结合装饰器、csrf
- Django app接口url报错Forbidden (CSRF cookie not set.)
- 每日一记======>(转)CSRF介绍(Cross-site request forgery)以及django中的处理方法
- Django的CSRF保护引起的403 FORBIDDEN
- Django在form提交CSRF验证失败. 相应中断问题