Django 中CSRF中间件 ‘django.middleware.csrf.CsrfViewMiddleware‘

文章目录

  • 1 csrf中间件功能及原理

1 csrf中间件功能及原理

CSRF # 表示django全局发送post请求均需要字符串验证
功能:防止跨站请求伪造的功能
工作原理:客服端访问服务器,在服务端正常返回给客户端数据的时候,而外返回给客户端一段字符串,等到客户端下次访问服务器时,服务器会到客户端查找先前返回的字符串,如果找到则继续,找不到就拒绝。
访问流程:客户端 —> URL路由系统—> CSRF—> 视图函数
需要在客户端页面的post表单中添:{% csrf_token%}

全局生效:
中间件 django.middleware.csrf.CsrfView.Middleware
局部生效:
@csrf_protect,为当前函数强制设置防跨站请求伪造功能,即便settings中没有设置全局中间件。
@csrf_exempt,取消当前函数防跨站请求伪造功能,即便settings中设置了全局中间件。

写法如下:
from django.views.decorators.csrf import csrf_exempt,csrf_protect
@csrf_exempt
def index(request): # 这样表示此函数取消CSRF验证
参考:https://www.cnblogs.com/dushangguzhousuoli/p/10649756.html

你可能感兴趣的:(Django,django,前端)