首页 > 解决方案 > 如何阻止用户使用 JWT 创建自定义 POST 请求?

问题描述

我理解访问令牌的方式是服务器向客户端授予访问令牌,然后客户端会将请求标头中的任何请求连同请求头中的任何请求一起发送回服务器以证明其身份验证/声明。

什么会阻止用户获取他们授予的访问令牌并在 Postman 中自定义 POST 请求的标头中使用它,从而使他们能够将他们喜欢的任何数据添加到数据库中?

有什么办法可以防御这种情况吗?

标签: .netangularasp.net-corejwt

解决方案


一旦客户端应用程序出现,您就根本无法控制它,而且您是对的,很容易假装是您的应用程序并提出自定义请求。客户端代码中的任何内容都可以由用户更改或复制。

因此,您应该假设所有用户都是邪恶的,并且您在客户端对输入数据进行的任何检查都应该复制到服务器端。

考虑数据输入也是不够的,您还应该检查给定用户是否有权查询他们要求的内容,因为在请求某些数据时更改 id 是微不足道的。特别是当 id 是增量整数时,它们很容易简单地更改 url,而无需靠近邮递员。


推荐阅读