django的跨站点请求伪装保护机制的实现:
1.settings.py: MIDDLEWARE_CLASSES中包含csrf中间件,一般它默认包含在MIDDLEWARE_CLASSES中。如果你重新编写了settings中默认的MIDDLEWARE_CLASSES,请确保'django.middleware.csrf.CsrfViewMiddleware'在所有可以预防csrf攻击的中间件的前面。
如果你在MIDDLEWARE_CLASSES中禁用了'django.middleware.csrf.CsrfViewMiddleware',一定要在视图函数前面加上@csrf_protect
2.模板: 在使用了POST方法的form中使用{%csrf_token%} 标签
3.视图函数:在返回response对象的视图函数中使用RequestContext,如果使用render方法,就不用添加RequestContext参数