首页 > 其他 > 详细

django的csrf_token的原理

时间:2020-02-24 00:44:00      阅读:97      评论:0      收藏:0      [点我收藏+]
 1 # csrf_token 标签
 2 # 作用: django 自带的一个中间件,用在form标签上,用户校验当前提交的数据是否是 指定页面上提交的数据,跨站请求伪造保护的作用.
 3 
 4 1,打开settings.py里面的csrftoken 功能(取消注释)
 5 2,视图函数
 6     def login(request):
 7         if request.method == GET:
 8             nk = [a,b,c,d]
 9             return render(request,login.html,{ a1:nk })
10         else:
11             print(request.body)
12             return HttpResponse(POST 的请求方式)
13 3,模板文件
14     <form action="" method="post">
15         {% csrf_token %}                                           # 这里加上 {% csrf_token %} 这句代码,表师启用 csrf_token     
16         <h3>用户名: <input type="text" name="name"></h3>
17         <h3>密码: <input type="password" name="password"></h3>
18         <input type="submit">
19     </form>
20 
21 # 请求流程:
22    # 客户端: web段:http://127.0.0.1:8000/login  
23    # 服务端: 发送给客户端 一个login.html的页面,经过中间件的时候,中间件会在这个页面里加上一个隐藏的input标签,里面时csrf的 name和value
24    # 客户端: 收到了login.html的页面,开始填写表单,并点击submit 提交form表单,这里表单里包含了 隐藏的csrf的input的标签.
25    # 服务端: 收到客户端的提交的数据包,会首先在中间件层进行csrf_token的校验,看是否是本机生成的token,如果不是,直接403,如果是,继续走视图函数里定义的代码.

 

django的csrf_token的原理

原文:https://www.cnblogs.com/kaishirenshi/p/12355306.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!