单页web应用程序中的安全数据库查询
Secure db queries in single page web app
我正在使用ArangoDB创建单页web应用程序以进行存储。Arango为访问和操作数据提供了很棒的方法。其中之一是经典的JS API。在客户端JS中编写直接的DB查询会很容易,这将是对DB的直接查询。所以中间没有服务器应用程序。
当然,这确实是不安全的模式。所以我应该编写某种REST-full API服务,通过URL从服务器查询数据,然后服务器查询DB。但这真的很不方便,因为我需要多写两三倍的代码(第一个查询是针对我的服务器的,第二个查询是DB的,也许还有两个查询之间的转换器)。另外,我认为对我的服务器的API调用看起来和对DB的API调用几乎相同。
我不想完全抽象,因为应用程序应该很复杂,而且会有很多类型的API请求,这只会带来bug,占用更多的时间。
那么,从安全性和易编码性的角度来看,从DB请求客户端应用程序中数据的最佳方式是什么?
我真的建议编写REST API调用(或者通常是URL调用)来访问您的数据。客户端上运行的任何内容或来自客户端的任何流量都可以被访问和操纵。这与身份验证和SQL调用本身有关。你想保护什么?DB客户端身份验证?如果对其进行加密,则需要在客户端对其进行解密。SQL调用——如果您构建并传输它们,客户端可以对它们进行操作,以获取/更新具有ANY值的ANY数据。真的没有简单的方法。。所以——为了安全起见——坚持这里的模式。。
我在Facebook上找到了一个带有Relay的GraphQL,它最好地解决了这个问题。
相关文章:
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 如何通过php页面将数据库值检索到jquery自动完成框中
- 使用javascript从数据库中添加表
- 通过CSV文件上载更新数据库表
- 平均值:无法将数据更新到数据库
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 如何使用 Angular JS 将数据保存在数据库中
- 使用javascript存储变量的最安全方式
- Rails-JQueryUIAutcomplete和AJAX不工作,可以't连接到数据库
- 在谷歌地图上绘制位置数据库
- PHP:显示sqlite数据库中的html格式数据,使用tinymce保存
- 将地理编码结果转换为php变量以发布到mysql数据库
- 从数据库中检索字段,而不模拟它们
- javascript:将数据库中的数据插入到html5文本字段中
- IndexedDB数据库身份验证-安全选项-加密/哈希JavaScript HTML5
- 将HTML5应用程序连接到服务器上的数据库*安全*
- 在数据库中保存用户创建的javascript是否安全
- 单页web应用程序中的安全数据库查询
- 将生成的标记存储在数据库安全问题中
- 使用HTML5 Web SQL数据库API是否安全?