2

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

我在 Express 框架中工作,有没有办法保护从其他站点到我的“GET”请求。

我使用 express 的 CSRF,但只能通过带有 FORbidden 403 消息的 POST、PUT、DELETE 方法工作所有的帖子。

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

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

感谢您的帮助。

4

1 回答 1

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(); }
  }
});
于 2013-09-12T00:52:40.177 回答