Rails - 存储我们无法读取但我们的应用程序可以读取的数据?

时间:2017-10-26 03:33:23

标签: ruby-on-rails security

我的朋友和我正在构建一个Rails应用程序,我们想知道:我们的数据库是否有任何方式可以以我们无法读取的方式存储用户信息(即我们要诚实地对用户说,“我们可以看不到你的电话号码!“),但是我们的应用仍然可以自由阅读和互动?我们基本上需要对数据视而不见,但仍然能够让我们的应用程序阅读它。

2 个答案:

答案 0 :(得分:4)

我建议这样做的唯一方法是使用只有客户端知道的密码来加密客户端上的数据。您需要找到一个客户端Javascript加密库,它将在发送给您之前加密用户在浏览器中的电话号码。除了重新显示给用户或拥有密码的任何人之外,您的服务器将无法对加密的电话号码执行任何操作。

斯坦福大学有javascript encryption library你可能想要探索。

如果您希望服务器能够对数据执行任何有用的操作(除了存储数据),那么就没有真正安全的方法来保证您无法查看数据。您公司中的某个人,无论是开发人员,DBA,IT等,都可以根据需要访问数据。用户只需要相信您将其数据保密。 您可以设置加密和权限以限制谁有权访问数据,但最终,客户端以外的至少一个人可以访问。

答案 1 :(得分:0)

这与用户权限有关。您应该检查保存在DB上的用户权限以及哪个用户检索数据