我理解跨站点伪造请求,但我不确定一件事,如何将角度设置为X-XSRF-TOKEN以使cookie匹配。我认为在发出或发布请求时会通过Angular的$ http提供商,但是当我尝试发布请求时,我仍然会收到403。我正在使用Django作为后端,因此我设置了$ httpProviders cookie和标题名称。
function Config($locationProvider, $stateProvider, $urlRouterProvider, $httpProvider) {
$locationProvider.html5Mode(true);
$httpProvider.defaults.xsrfCookieName = 'csrftoken';
$httpProvider.defaults.xsrfHeaderName = 'X-CSRFToken';
$httpProvider.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
var promise = $http({
method: method,
url: (isApi ? Config.api_path : '/') + uri,
'X-CSRFToken': $http.csrftoken,
data: data || {},
timeout: deferred.promise
})