如果可以从network选项卡复制JWT和baseurl,那么任何人都无法访问postman中的信息吗?

问题描述 投票:0回答:1

假设我有一个 React 应用程序,并且有一个用于登录的 api,它会在响应中发送 JWT 令牌。我登录并使用该令牌,调用 api 来查看我的所有预订。

现在我的困惑来了。如果我转到网络选项卡,我可以在网络选项卡中看到 JWT 令牌和请求 url。现在,如果我获取 JWT 和 baseurl 并转到邮递员,我就可以看到我的预订。

由于我们无法限制浏览器显示正在进行的 api 调用,这意味着如果我登录并说任何人(例如某种黑客)获得了令牌和 baseurl,他们将能够访问和更改我的个人资料或甚至更深入地了解服务器和数据库(可能是,我不太确定所有的黑客行为)。

我看过很多文章、问题和资源,它们解释了如果 JWT 被更改,签名将如何不匹配。我们不要改变 JWT。 JWT 也有过期时间。好的,但是如果 JWT 还有一段时间过期怎么办?

可以说,这不是为了预订,而是为了编辑我的个人资料。黑客从标头和基本 URL 中获取令牌。这意味着我现在已经死了。他可以做任何他喜欢的事。

那么我关心的是如何让api调用更加安全?最佳实践是什么以及如何保护 api 调用(主要是在后端的 React 和 Node 中)?

reactjs api security jwt csrf
1个回答
0
投票

短期令牌过期:为您的令牌设置较短的过期时间,包括访问令牌和刷新令牌。短暂的代币限制了攻击者使用被盗代币的机会。

令牌轮换和刷新:实现令牌轮换和刷新机制。定期轮换令牌以使之前的令牌失效。这可以通过发行新代币并使旧代币失效来完成。

使用仅 HTTP Cookie:当使用 Cookie 进行令牌存储时,请将其设置为仅 HTTP。这可以防止客户端脚本(包括通过 XSS 攻击注入的恶意脚本)访问令牌。

CORS 和同源策略:在服务器上实施适当的跨源资源共享 (CORS) 策略,以控制哪些域可以向您的 API 发出请求。此外,遵守同源策略以防止未经授权的域访问敏感信息。

© www.soinside.com 2019 - 2024. All rights reserved.