node.js - 有必要使用nodeexpress检查url中的参数吗?

标签 node.js rest security express

我有一些休息端点,如下所示:

router.get('/groups/leave/:hash', (req, res) => {
    if (!req.params.hash) {
        return res.send({ res: false, code: responseCode.PARAMS_MISS })
    }
    console.log(req.params.hash)
})

用户可以转到localhost:8080/groups/leave/somecode,当使用localhost:8080/groups/leave/时,他会得到404 - 页面不存在。

所以我的问题是,有必要(出于安全原因 - 哈希可以是未定义的)检查是否未定义?

最佳答案

您可以为此定义两个端点(localhost:8080/groups/leave/),一个为(localhost:8080/groups/leave/:hash),或者检查是否有参数重定向到参数页面,如果没有给出消息参数未定义或重定向到参数不是r的页面。这样,如果没有参数,它将重定向到第一个,如果有参数,它将重定向到散列一个。对于你的问题是的,它最好检查一下..您应该遵循代码标准。这是一个很好的做法。

关于node.js - 有必要使用nodeexpress检查url中的参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49586357/

相关文章:

node.js - 如何在 node.js 中使用 node-imap 标记看不见的电子邮件

javascript - 如何更改嵌套( Mongoose )回调中的 json 值

javascript - 如何在 Mongoose/MongoDB 中正确构建数据库?

javascript - 不完整的 Node HTTP.Response

android - “{parameter}”查询后,如何使用Retrofit将这些Api URL与这些 “?”映射

security - 我是否错误地使用了 SetNamedSecurityInfo?我的文件的 ACL 似乎没有被正确修改

带有 KeyStore 和 ServerSockets 的 Java SSL/TLS

node.js - 使用 Mongoose 动态创建集合

java - Jersey 2.7 + GlassFish 4 CDI 部署失败

security - Tomcat 6 和 SSL 不工作