最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

NodeJS express:限制对路由的访问

IT培训 admin 4浏览 0评论

NodeJS express:限制对路由的访问

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

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

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

但这并不妨碍来自其他站点的Ajax调用来访问数据。那么如何让它更安全?如果不可能,我可以通过哪种方式向前端提供数据?

回答如下:

一种选择是使用CORS(有一个express middleware)。因此,您可以将路由配置为仅接受来自特定源的请求。但起源可以伪造。

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

在How to implement a secure REST API with node.js Ask Question的答案中也有一些细节。

NodeJS express:限制对路由的访问

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

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

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

但这并不妨碍来自其他站点的Ajax调用来访问数据。那么如何让它更安全?如果不可能,我可以通过哪种方式向前端提供数据?

回答如下:

一种选择是使用CORS(有一个express middleware)。因此,您可以将路由配置为仅接受来自特定源的请求。但起源可以伪造。

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

在How to implement a secure REST API with node.js Ask Question的答案中也有一些细节。

发布评论

评论列表 (0)

  1. 暂无评论