如何保护Nodejs中的RestFul Api?

时间:2013-09-11 23:22:56

标签: javascript node.js mongodb mongoose event-driven

现在我正在使用https://github.com/baugarten/node-restful帮助工作API,问题是什么?

我在Express框架中工作,有没有办法保护" GET"其他网站要求我的。

我使用来自快递的CSRF,但只能通过POST,PUT,DELETE方法使用FOrbidden 403的消息进行处理,因为在控制台中进行卷曲,但是如果我对Get方法进行卷曲curl localhost:3000 /发布那个给出一个包含所有帖子的数组。

  app.use(express.csrf());
  app.use(function(req, res, next){
      res.locals.token = req.session._csrf;
      next();
  });
  app.use(app.router);

你建议我什么?还有其他模块可以更好地运作Api吗?如何保护nodejs中的Api?哈维尔学习的最佳实践是什么?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

尝试使用旨在实现此目的的Express中间件。例如:

var express = require('express');
var app = express();

// simple middle ware to protect your URI
app.use(function(req, res, next){
  if (req.method == 'GET') {
     if (!req.locale.token) { res.send(403); } // custom to fit your policy
     else if (req.protocol !== "https") {res.redirect("your-secure-url");}
     else { next(); }
  }
});