可以说,前端有域 frontend.example.com,后端有域 backend.example.com。(如果你是 Django rest 框架之类的东西)如果你可以使用有两种方法可以启用安全层,即。CSRF 保护或 CORS
对于 CORS,
pip install django-cors-headers
然后将其配置为 INSTALLED_APPS、MIDDLEWARE_CLASSES 并将前端域添加到 CORS_ORIGIN_WHITELIST。
CORS_ORIGIN_WHITELIST = (
'frontend.example.com'
)
CORS 将阻止来自除 frontend.example.com 以外的任何域的任何 http 请求
对于 CSRF,
CSRF_COOKIE_DOMAIN = ".mydomain.com"
如果您使用的是 Angular 应用程序,请执行以下操作,
$httpProvider.defaults.xsrfCookieName = 'csrftoken';
$httpProvider.defaults.xsrfHeaderName = 'X-CSRFToken';
$httpProvider.defaults.withCredentials = true;
然后在发出 http 请求时添加标头。
headers : {
"x-csrftoken" : $cookies.csrftoken
}