现在我正在使用 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(); }
}
});