我正在使用 ArangoDB 创建单页 Web 应用程序进行存储。 Arango 提供了访问和操作数据的绝佳方法。其中之一是经典的 JS API。在客户端 JS 中编写简单的数据库查询很容易,这将是对数据库的直接查询。所以中间没有服务器应用程序。
当然,这确实是不安全的模式。因此,我应该编写某种 REST-full API 服务,通过 URL 从服务器查询数据,然后服务器查询数据库。但这确实很不方便,因为我需要编写两到三倍的代码(第一次查询我的服务器,第二次查询数据库,也许还需要在两个查询之间进行一些翻译)。另外,我认为对我的服务器的 API 调用看起来与对数据库的 API 调用几乎相同。
我不想进行完全抽象,因为应用程序应该很复杂,并且会有很多类型的 API 请求,这只会带来错误并消耗更多时间。
那么从数据库请求客户端应用程序中的数据的最佳方式是什么,首先是安全性,其次是易于编码?
最佳答案
我真的建议编写 REST API 调用(或通常是 URL 调用)来访问您的数据。可以访问和操纵客户端上运行的任何内容或来自客户端的任何流量。它带有身份验证和 SQL 调用本身。 你想保护什么?数据库客户端身份验证?如果加密,则需要在客户端解密。 SQL 调用 - 如果您构建并传输它们,客户端可以操纵它们以使用任何值获取/更新任何数据。真的没有捷径可走.. 所以 - 为了安全 - 坚持这里的模式..
关于javascript - 在单页 Web 应用程序中保护数据库查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33535236/