繁体   English   中英

将HTML5应用连接到服务器上的数据库*安全*

[英]Connecting the HTML5 app to a database on a server *Safely*

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

当我使用RESTful服务连接到数据库时,我必须包括HTTP查询,该查询包含API密钥 我的问题:这样使用安全吗? 我计划将一些敏感信息存储在数据库中,但计划对其进行加密。 但是我不希望任何人看到我的API密钥,因为如果看到了API密钥,那么很容易获得数据库中的信息。 API KEY硬编码在一个javascript文件中。

有没有在javascript中使用REST API密钥的安全方法?

最好的方法是在应用程序( 客户端 )和数据库( 资源服务器 )之间放置一个oAuth 2.0层。 这里的“资源所有者”是最终用户。

您可以使用“隐式”,“资源所有者密码凭证”或“客户端凭证”。 还要阅读有关“ 访问令牌 ”和“ 刷新令牌 ”的信息。

抽象协议流程 (从此处复制)

 +--------+                               +---------------+
 |        |--(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 ---|               |
 +--------+                               +---------------+

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM