Database 如何创建一个无法访问数据的web应用程序?
前提:即将到来的项目的要求包括,除授权用户外,任何人都无法访问某些数据。这通常是好的,但这种情况并不常见。这些要求说明,即使是程序员或任何其他IT员工也无法访问这些信息。(他们想让我在看不到的情况下存储它。) 在我提出的所有方案中,我总能找到访问数据的方法。让我描述一下其中的一些 场景一:限制实时数据库上的表,以便只有SQL管理员可以直接访问它。Database 如何创建一个无法访问数据的web应用程序?,database,security,encryption,Database,Security,Encryption,前提:即将到来的项目的要求包括,除授权用户外,任何人都无法访问某些数据。这通常是好的,但这种情况并不常见。这些要求说明,即使是程序员或任何其他IT员工也无法访问这些信息。(他们想让我在看不到的情况下存储它。) 在我提出的所有方案中,我总能找到访问数据的方法。让我描述一下其中的一些 场景一:限制实时数据库上的表,以便只有SQL管理员可以直接访问它。 Hack 1:I展开一项更改,将数据发送到另一个表以供以后查看。此外,SQL管理员可以查看数据,这违反了要求 场景二:加密数据,以便需要密码才能解密。
Hack 1:I展开一项更改,将数据发送到另一个表以供以后查看。此外,SQL管理员可以查看数据,这违反了要求 场景二:加密数据,以便需要密码才能解密。此密码仅为用户所知。每次创建新记录时,以及每次检索旧记录中的数据时,都需要它。加密/解密将在JavaScript中进行,这样就不会将密码发送到服务器,在那里可以记录或嗅探密码。
Hack II:推出一项更改,将按键记录在javascript中,并将其发回服务器,以便我可以检索密码。或者,展开一项更改,将未加密的数据存储在一个隐藏字段中,该字段可以发布到服务器以供以后查看 场景三:与场景二相同,只是加密/解密发生在我们无法控制的网站上。这个神奇的网站允许用户输入密码和加密或纯文本数据,然后使用javascript解密或加密这些数据。然后,用户只需复制加密的文本,并在字段中输入新记录。他们还必须使用此网站查看旧记录的纯文本。
黑客III:除了在他们的系统上安装一个功能齐全的键盘记录器之外,我不知道如何破解这个
因此,场景三看起来很有希望,但对用户来说很麻烦。还有其他我可能忽略的可能性吗?如果你可以在页面上使用javascript,那么我认为你什么都做不了。如果您可以在浏览器中看到它,那么这意味着它在DOM中,这意味着您可以编写一个脚本来获取它,并在解密后将其发送给您 这些问题通常不是通过控制解决的吗:
如果你被允许添加任何你想要的代码,那么总有办法,依我看。要求客户提供一份保密协议,让你签署,签署,然后查看你想要的数据 我想知道的是,你到底能对加密数据做些什么?几乎所有的应用程序都要求您对数据进行一些过滤,无论是将数据移动到所需位置、修改数据、清理数据还是显示数据。否则,你只是一个被美化的烟斗,你不需要做任何工作 我能想到的唯一方法是使用CRUD选项进行简单的表单到表映射,这样您就不会查看数据或对数据进行任何处理。如果您知道数据将采用什么格式,那么您应该能够使用RoR(一种简单的皮肤)推出一些东西,将SSL放入混合中,并将其推出。使用相同格式的虚拟数据进行测试,然后设置
事实上,您的客户是否无法为测试提供虚拟数据?如果他们可以,那么你的生活就简单了,因为你所做的就是提供一个“可安装的”,并告诉他们如何编辑配置文件。场景3不就是将所有数据公开给magic网站吗?这听起来不像是一个可解决的问题(至少我想不出解决方案)。如果这确实是一个要求,防止这种情况发生的唯一方法是在发布软件之前聘请外部公司审核代码,这将非常昂贵。选择任何最容易实现的解决方案,我认为这些要求表明客户不了解软件开发,因此销售您采取的任何方法都应该很容易。我认为您仍然可以通过以下方式创建应用程序: