node.js - 保护我的 ExpressJS 服务器路由,它们将通过 cURL 访问
问题描述
我需要一些关于我可以使用的最佳方法的建议,以便我的服务器上的路由只能由某些用户访问。
我的服务器有一些简单的路由"/example"
,我正在使用 Express JS 编写这些路由。将访问这些路线的人很少,他们大多会从终端进行,卷曲curl 123.45.678.901/example
但我想让它安全,以便只有特定的一组人可以访问该路线。
我应该怎么办?我是新手,所以我正在考虑向 curl 添加一个自定义标头,但我不知道如何检查该自定义标头的路由,然后我认为这可能太简单了,所以我想知道是否有一种更好的方法可以为用户提供“密码”。感谢您的建议!
解决方案
您需要一个凭证才能访问受保护的路由。凭证的形式可以是自定义标头中的令牌或密码、查询参数或 cookie 中的令牌。
最好不要将安全凭证放在查询参数中,显然,您应该https
在传输过程中使用它来保护凭证。
如果仅通过 CURL 访问路由,则包含凭据的自定义标头可能是最直接的方法。
对于您的服务器上的 express,将所有需要身份验证的路由放在特定的路由器上,并在将控制权传递给路由之前使用验证凭证的中间件。
推荐阅读
- django - 谁能告诉我如何将 Django Api 转换为 websocket Api?
- reactjs - React Joyride-如何调整浮子的位置?
- c# - Crystal-Reports XSD 导入从抽象类型抛出错误
- dsa - JAVA和GO如何实现相同的DSA签名(SHA1withDSA)?
- java - 基于日期的列的 Apache Beam 重采样
- javascript - 如何在此处正确实现去抖动时间,以便在纯 JavaScript 中每个时间限制仅触发一次?
- url - URL 编码文件名?
- gem5 - 为什么gem5输出显示cpu周期数小于模拟指令数?
- javascript - 我想做一个圆角的圆角圆环。 js
- vue.js - Vue 路由器警告和 Router.push 不起作用