但是大多数站点将须要利用Django供应的跨站点要求假造保护。CORS和CSRF是分开的,并且Django无法利用您的CORS配置免除网站Referer对安全要求所做的检讨。做到这一点的方法是利用其CSRF_TRUSTED_ORIGINS设置。
#1、CSRF_TRUSTED_ORIGINS 设置CORS_ORIGIN_WHITELIST = [ ' http://read.only.com ', ' http://change.allowed.com ',] #不须要CORS_ORIGIN_ALLOW_ALL=True的设置CSRF_TRUSTED_ORIGINS = [ ' change.allowed.com ',]#2、中间件设置#启用此功能在django.middleware.csrf.CsrfViewMiddleware后,还应添加#corsheaders.middleware.CorsPostCsrfMiddlewareMIDDLEWARE_CLASSES = [ ... ' corsheaders.middleware.CorsMiddleware ', ... ' django.middleware.csrf.CsrfViewMiddleware ', 'corsheaders.middleware.CorsPostCsrfMiddleware ', ... ]
