我正在使用Angularjs和Expressjs(4.x)app调查csrf保护。
我目前正试图让Lusca(https://www.npmjs.org/package/lusca)无法使用标准csrf软件包(https://www.npmjs.org/package/csrf)工作。
我已经像这样包括了lusca:
var lusca = require('lusca');
app.use(lusca.csrf());
在我的Angularjs应用程序中,我在我的主app.js文件中有这个:
app.run(function($rootScope, $http, $cookies, user) {
$http.defaults.headers.post['x-csrf-token'] = $cookies._csrf;
});
但是,当我尝试向节点服务器发送任何内容时,我总是收到403错误。任何人都可以帮助甚至向我展示标准csrf包的方式吗?
答案 0 :(得分:0)
你应该阅读
https://docs.angularjs.org/api/ng/service/ $ HTTP
在他们谈论XSRF保护的底部
这将是设置标头和cookie的配置示例
AP.config(['$httpProvider', function($$httpProvider) {
$httpProvider.defaults.xsrfHeaderName="xsrf header name";
$httpProvider.defaults.xsrfCookieName="xsrf cookie name";
}]);