【问题标题】:How to secure my database access from angularjs side without nodejs如何在没有 nodejs 的情况下从 angularjs 端保护我的数据库访问
【发布时间】:2019-02-18 22:53:04
【问题描述】:

对于我的下一个项目(网络 + 电子 + 离子),

我想使用 angularjs,但不想使用 nodejs 和数据库。

我正在考虑 pouchdb 或 google-firebase。

现在安全性是我的数据库的一个问题。就像我必须使用 angular 连接我的数据库,因为我不会使用 nodejs。

所以我必须在连接时输入我的用户名和密码。

我的用户名和密码安全吗?

我认为任何按Ctrl+u 或来自开发工具的人都可以看到我的用户访问权限。

有什么建议吗?

【问题讨论】:

  • 是的,他们可以,使用 NodeJS(或其他服务器端语言)不是可选的,它是必需的。除非您在 firebase realtime 或其他数据库中使用构建并在那里编写正确的身份验证规则。
  • 嘿,我需要更多信息,请提供给我?你能分享一个我可以关注的文档吗?

标签: angularjs node.js firebase ionic-framework pouchdb


【解决方案1】:

恐怕你不能这样做,你需要一些服务器端应用程序以安全的方式与数据库连接。 您必须始终遵循一些黄金法则:

  • 客户端没有安全措施。
  • 永远不要相信来自客户的信息,即使您认为它已经过验证。

【讨论】:

  • 嗯,谢谢你的回答。但我仍然喜欢等待 1-2 天而不是使用节点。再次感谢
【解决方案2】:

为了安全起见,您可以使用 firebase auth

这些是许多安全登录方法,例如

-FirebaseUI -基于密码 -Facebook -谷歌..等

reference link-https://firebase.google.com/docs/auth/web/start

如果您打算将 firebase 用于大型数据库,那么请记住,firebase 并不是为大型数据库而设计的,它是有限的。您无法将 firebase 与 SQL n MySQL 等数据库进行比较。 Firebase 专为小型数据库设计。

【讨论】:

  • 不不,我正在开发聊天应用程序,其中所有聊天记录将在 7 天后被删除或压缩。所以它将是小数据库(现在)。将在下一个版本中迁移到 mongo cloud。谢谢:)
【解决方案3】:

如果您通过一个硬编码凭据(真的很容易被人知道)授予聊天客户端的写访问权限,那么您就处于非常危险的一面:您的数据库很快就会被大量垃圾填满。硬编码读取凭据没有害处(为了分离对不同服务器数据库的访问,即),但是对于写入凭据,您肯定需要注册,这意味着 Node 或其他东西。它将处理新用户的创建,并让您能够阻止不需要的客户端行为,以防万一。

【讨论】:

    【解决方案4】:

    尝试使用这个库的 angularfire2 库来使用这个库,不需要 nodejs 或任何后端服务器。它直接与firebase通信。这里是图书馆 https://github.com/angular/angularfire2

    【讨论】:

      猜你喜欢
      • 2013-06-19
      • 2023-01-12
      • 1970-01-01
      • 2017-04-29
      • 2020-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-18
      相关资源
      最近更新 更多