node.js - KrakenJS : perform POST request over a controller ends with error

标签 node.js rest csrf

我正在使用KrakenJS构建一个网络应用程序。作为 MVC,我通过 Controller 实现 REST 服务,这是一个示例代码:

//users can get data
app.get('myRoute', function (req, res) {
    readData();
});

//users can send data
app.post('myRoute', function (req, res) {
    writeData();
});

我可以毫无问题地读取数据。但是当我尝试使用 POST 请求插入虚拟数据时,最终会出现以下错误:

Error:Forbidden 127.0.0.1 - - [Thu, 06 Feb 2014 00:11:30 GMT] "POST /myRoute HTTP/1.1" 500 374 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/32.0.1700.102 Chrome/32.0.1700.102 Safari/537.36"

我该如何克服这个问题?

最佳答案

一件事是确保您发送正确的 CSRF header ( http://krakenjs.com/#Security )。如果我没记错的话,默认情况下 Kraken 希望指定这些 header 。

您也可以禁用 CSRF,看看是否可以解决您的问题。由于 Kraken 使用 Lusca 模块进行 CSRF,因此您可以从此处获取有关如何禁用/配置的信息:https://github.com/paypal/lusca

关于node.js - KrakenJS : perform POST request over a controller ends with error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21591501/

相关文章:

javascript - 如何使用 MS Dynamics CRM REST 端点更新或删除现有电话/电子邮件记录的发件人和收件人

api - 请帮助我使用 RESTful http 缓存

security - 如何扩展或覆盖 BeginForm 以包含 AntiForgeryToken 字段

security - 如何使用 Scala 防止 Play [2.0] 中的 CSRF?

javascript - 如何在 JavaScript 中从 char 获取 make 代码?

javascript - 如何在我的任务代码运行之前*从我的自定义任务中调用其他任务?

javascript - 异步调用内的同步调用

java支持的网页根本不显示

VerifyCsrfToken.php 第 68 行中的 Laravel 5.4 TokenMismatchException

node.js - Typescript 中 RequireJs 和 NodeJS 定义之间的冲突