我在 Express.js 中有一个 API,可以创建博客文章并将其添加到我的数据库中。当我从 DevTools 内的 React 应用程序发出请求时,它将显示我的 JWT。我担心当我的网站上线时,人们可以看到我的令牌并从他们的网站发出添加不需要的帖子的请求。请告诉我发生了什么事以及如何防止安全错误。
当您发送标头中带有令牌的请求时,它在开发人员工具的标头窗格中将如下所示:
我想这就是您想知道是否安全的原因。
当您使用普通 HTTP 时,React 应用程序和 API 之间的连接是未加密的。这使得重放攻击 https://en.wikipedia.org/wiki/Replay_attack可能 – 前端和 API 之间的 ISP 或其他服务器可以读取令牌,并稍后使用读取的令牌假装是您。
最重要的解决方案是使用 HTTPS,它是加密的 HTTP。当您使用 HTTPS 时,潜在的攻击者无法嗅探和窃取令牌。当您处理用户名、密码等时,应始终使用 HTTPS。
HTTPS 可以免费使用,并且设置起来并不困难。看here https://letsencrypt.org/更多细节。还有一个有趣的讨论here https://stackoverflow.com/questions/27301557/if-you-can-decode-jwt-how-are-they-secure您可能想阅读。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)