如何在 Nodejs 中保护 RestFul API



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

我正在使用Express框架,有没有办法保护从其他站点到我的" GET"请求。

我使用来自快递的 CSRF,但只能通过 POST、PUT、DELETE 方法工作,并在控制台中处理 make anithing,但如果我向 Get 方法卷曲 curl localhost:3000/posts 提供包含所有帖子的数组。

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

你给我什么建议? 还有其他模块可以更好地使用 Api 吗?如何在nodejs中保护Api?需要学习的最佳实践是什么?

感谢您的帮助。

尝试 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(); }
  }
});

相关内容

  • 没有找到相关文章

最新更新