gpt4 book ai didi

javascript - CSURF Angular 实现

转载 作者:搜寻专家 更新时间:2023-10-31 23:05:04 24 4
gpt4 key购买 nike

我一直在尝试对我一直在从事的个人项目进行 csurf 实现。我一直在到处搜索谷歌,试图弄清楚当我不使用像 Jade 或 EJS 这样的模板引擎时如何在表单上实现 csurf。我的 express 服务器也不直接呈现页面,而是主要返回 JSON。我的所有前端都像这样被引用

app.use(express.static(__dirname + '/www'));

我使用 csurf 的服务器代码如下所示

app.use(csurf());

app.use(function (req, res, next) {
res.cookie('XSRF-TOKEN', req.csrfToken());
next();
});

在表单的前端,html 输入字段看起来像这样。我也在使用 AngularJS 并且基于我看到的示例,我应该做的就是这个。

<input type="hidden" name="_csrf" value="{{csrftoken}}">

我在终端中收到以下错误

Error: invalid csrf token

如果我检查隐藏的输入,这就是显示的内容。

<input type="hidden" name="_csrf" value="">

最佳答案

在您的 Controller 中,您需要将局部变量设置为等于 csrf cookie 的值

例如

.controller('YourCtrl', function($cookies, $scope) {
$scope.csrftoken = $cookies._csrf
}
);

要使该示例正常工作,您需要包含 ngCookies 模块,因此请在您的 index.html 中包含类似的内容

<script src="bower_components/angular-cookies/angular-cookies.js"></script>

然后将依赖项“ngCookies”添加到您的模块。

关于javascript - CSURF Angular 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27910409/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com