Django之中间件-CSRF
生活随笔
收集整理的這篇文章主要介紹了
Django之中间件-CSRF
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
CSRF
a.CSRF原理
post提交時需要提交csrf_token ,缺少則不通過
b.無CSRF時存在隱患
防護其他人通過別的鏈接post提交
c.Form提交(CSRF)
{% csrf_token %}
d.Ajax提交(CSRF) ----L22-capture-10
局部加上CSRF:
@csrf_exempt 單一的排除
@csrf_protect 單一的加上
?
中間件(管道,httphandle類)
1.原理
? ? ? ? ? ? ? settings中的MIDDLEWARE
對所有請求做統一的處理
2.操作
from django.utils.deprecation import MiddlewareMixinclass Row1(MiddlewareMixin):#請求開始def process_request(self,request):print('row1')if True:passelse:return HttpResponse#url(r'^test/(?p<nid>\d+)$',views.test)#獲取路由系統中的參數,和test函數def process_view(self,request,view_func,view_func_args,view_func_kwargs):print('row1_view')#請求返回def process_response(self,request,response):return responsedef process_exception(self,request,exception): #views 中出錯就執行if isinstance(exception,ValueError):return HttpResponse('valueError')def process_template_response(self,request,response):#如果views中的函數返回的對象中,具有render方法print('------')return response
轉載于:https://www.cnblogs.com/crazytao/p/7787856.html
總結
以上是生活随笔為你收集整理的Django之中间件-CSRF的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL的基本语法
- 下一篇: 多线程编程:阻塞、并发队列的使用总结