首页 > 解决方案 > 如何防止访问数据库中其他用户的数据

问题描述

假设用户登录到应用程序并想要检索与他们的个人资料关联的一些数据。应用程序使用他们的用户 ID 向后端执行 REST 调用,后端执行 SQL 查询(SELECT x FROM y WHERE user_id = '...')。

这里的问题是,如果我知道其他人的用户 ID,我可以拦截 REST 调用并将他们的 ID 插入其中,从而访问他们的数据。

如何避免这个问题?

(这个问题与How to prevent user to access other users' data?非常相似,但已经 5 年了,所以我想再试一次)

标签: databasesecurityauthentication

解决方案


因此,在这种情况下,您有一个特定对数的加密来发送用户 ID 并在 REST 服务应用程序上对其进行解密,然后在后端的 USERID 列中使用它。另一种可能的解决方案是加密在 REST url 中传递的列值和用户 ID 值!


推荐阅读