javascript - 在单页 Web 应用程序中保护数据库查询

标签 javascript security graph-databases arangodb

我正在使用 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/

相关文章:

javascript - 在 ReactJS 中映射对象数组的问题

javascript - 如何让JavaScript点击某个位置?

Javascript - 字符串搜索,什么可以解决它?

javascript - 如何将一个对象的元素插入另一个对象?

iphone - 我可以将 NSURLCredentialStorage 与数据保护结合使用吗?

csv - 如何在 Neo4J 中使用 Cypher 向现有节点添加多个值

graph - 是否可以在 orientdb 图形数据库中创建子图?

spring - Sonatype 扫描显示 Spring-Web 易受攻击

java - 服务器 500 错误是安全问题吗?

graph - 在 Neo4J 中存储多个图形