繁体   English   中英

NodeJS Express:限制路由访问

[英]NodeJS express: limiting access to route

我正在创建一个快速项目,并且有一些路由可以通过ajax向前端控制器提供数据,例如,它们以/get_data开头。

所以我的问题是如何保护这些路线? 任何人都可以轻松访问它们。 我试着做

app.use((req, res, next) => {
    if(!req.xhr) res.sendStatus(404);
    else next();
})

但这并不能阻止其他站点的ajax调用来访问数据。 那么如何使其更安全? 如果不可能,我可以通过什么方式向前端提供数据?

一种选择是使用CORS(有一个快速的中间件 )。 因此,您可以将路由配置为仅接受来自特定来源的请求。 但是原产地可以伪造。

如果那里有一些敏感数据,则可以考虑向应用程序添加身份验证(可能还包括授权)。 有很多实现方法,例如流行的Passport.js库。

关于如何使用node.js提问的安全REST API的答案中也有一些详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM