【问题标题】:how to obscure database credentials on a javascript MVC framework like angular如何在 Angular 等 javascript MVC 框架上隐藏数据库凭据
【发布时间】:2013-01-06 16:42:45
【问题描述】:

在 angularjs 之类的 mvc 框架中,到目前为止,我发现的示例将数据库凭据存储在 app.js 文件中的 app.constant 属性中,用户可以轻松阅读

在我的情况下,我通过从 mongolab.js 文件加载的服务连接到 mongolab。我的 apikey 在那里定义,当然我无法访问 mongolab 后端来让它接收哈希

解决这个问题的最佳做法是什么?最好有一些我可以学习的材料的指针。

【问题讨论】:

标签: javascript model-view-controller angularjs


【解决方案1】:

为什么不连接到 mongolab 服务器端?即使您使用加密,客户端也将始终处于危险之中。

在 Angular 中,您将拥有一个服务(使用 app.factory()),该服务通过您的 service layer(使用 jsonp 或其他格式)连接,它将检查他的“连接器表”以调用正确的(外部)服务。这是一个非常简单的方案:

Client (js) --> Server (java, php, ...) --> Service 1
                                        --> Service 2

【讨论】:

  • 想详细说明您的首选设置吗?从你所说的我能想象到类似于 REST 服务的东西?
  • 能不能像处理数据库查询的单个 php 文件那样简单,然后我使用 Angular 的 $http 服务向该文件发送请求?
  • 在我的回答中添加了一段。
  • 这就是我当前设置的方式,服务层(如果我理解正确的话)是一个 mongolab.js 文件,它作为标记的一部分被调用,我按照上的示例角的网站。那么什么样的服务层可以掩盖这一点呢?
猜你喜欢
  • 2020-03-25
  • 2018-01-03
  • 1970-01-01
  • 2014-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多