javascript - *安全地将 HTML5 应用程序连接到服务器上的数据库

标签 javascript html mongodb rest api-key

我正在尝试将 HTML5 手机应用程序安全连接到数据库 (MongoDB)。该应用程序将出现在应用程序商店中,没有人可以看到代码。我对此有一些疑问。据我所知,有两种方法可以做到这一点,一种是使用 RESTful 服务,另一种是使用数据库驱动程序(我在使用此方法时遇到问题,因此使用 HTTP 请求方法)。这是我的问题,

当我使用 RESTful 服务连接到数据库时,我必须包含 HTTP 查询其中包含 API key 。我的问题:这样使用它安全吗?我计划在数据库上存储一些敏感信息,但计划对其进行加密。但我不希望任何人看到我的 API key ,因为如果有人看到 API key ,那么就很容易访问数据库上的信息。 API key 硬编码在 JavaScript 文件之一中。

是否有一种在 JavaScript 中使用 REST API key 的安全方法?

最佳答案

最好的方法是输入 oAuth 2.0应用程序 ( Client ) 和数据库 ( Resource Server ) 之间的层。这里的“资源所有者”是最终用户。

您可以使用“隐式”、“资源所有者密码凭据”或“客户端凭据”。请阅读“Access Tokens ”和“Refresh Tokens ”。

抽象协议(protocol)流(复制自 here )

 +--------+                               +---------------+
 |        |--(A)- Authorization Request ->|   Resource    |
 |        |                               |     Owner     |
 |        |<-(B)-- Authorization Grant ---|               |
 |        |                               +---------------+
 |        |
 |        |                               +---------------+
 |        |--(C)-- Authorization Grant -->| Authorization |
 | Client |                               |     Server    |
 |        |<-(D)----- Access Token -------|               |
 |        |                               +---------------+
 |        |
 |        |                               +---------------+
 |        |--(E)----- Access Token ------>|    Resource   |
 |        |                               |     Server    |
 |        |<-(F)--- Protected Resource ---|               |
 +--------+                               +---------------+

关于javascript - *安全地将 HTML5 应用程序连接到服务器上的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26599905/

相关文章:

javascript - 根据浏览器重定向到特定页面

html - 使用 HTML 和 CSS 内联添加多个图像

javascript - jquery removeAttr ('class' ) 仍然保留类的元素

mongodb - 如何在 MongoDB C# 驱动程序版本 2 中使用 $ 位置运算符

javascript - 播放音频的定义部分

javascript - 仅来自类的样式属性

javascript - d3.js 静态图滚动

python - 在 PyCharm 和文本编辑器 (Sublime Text) 中呈现 HTML 之间的差异

php - Nginx PHP 一直比 Apache 2.2 慢

node.js - 计算员工的事件时间