如何在没有 nodejs 的情况下从 angularjs 端保护我的数据库访问
How to secure my database access from angularjs side without nodejs
对于我的下一个项目(web + electron + ionic),
我想使用 angularjs 但不想使用 nodejs 和数据库。
我正在考虑 pouchdb 或 google-firebase。
现在安全是我数据库的一个问题。就像我必须使用 angular 连接我的数据库,因为我不会使用 nodejs。
所以我必须在连接时输入我的用户名和密码。
我的用户名和密码安全吗?
我认为任何按 Ctrl+u
或使用开发工具的人都可以看到我的用户访问权限。
有什么建议吗?
恐怕你不能那样做,你需要一些服务器端应用程序以安全的方式连接到数据库。
您必须始终遵循一些黄金法则:
- 客户端没有安全措施。
- 永远不要相信来自客户的信息,即使您认为它是经过验证的。
为了安全起见,你可以使用firebase auth
这些是许多安全登录方法,例如
-FirebaseUI
-基于密码
-Facebook
-Google..等
reference link- https://firebase.google.com/docs/auth/web/start
如果您计划将 firebase 用于大型数据库,请记住一件事,firebase 不是为大型数据库设计的,它 limited.You 无法比较firebase 到 SQL n MySQL 等数据库。专为小型数据库设计的 Firebase。
如果您通过一个硬编码凭据授予您的聊天客户端写访问权限(真的很容易被人知道)- 您就处于非常危险的一面:一个人可以迅速用大量垃圾填满您的数据库。硬编码读取凭据没有任何危害(为了分离对不同服务器数据库的访问,即)但对于写入凭据,您肯定需要注册,这意味着节点或其他东西。它将处理新用户的创建,并让您能够阻止不需要的客户端行为,以防万一。
使用这个库尝试 angularfire2 库用于 firebase,不需要 nodejs 或任何后端服务器。它直接与 firebase.here 通信是图书馆
https://github.com/angular/angularfire2
对于我的下一个项目(web + electron + ionic),
我想使用 angularjs 但不想使用 nodejs 和数据库。
我正在考虑 pouchdb 或 google-firebase。
现在安全是我数据库的一个问题。就像我必须使用 angular 连接我的数据库,因为我不会使用 nodejs。
所以我必须在连接时输入我的用户名和密码。
我的用户名和密码安全吗?
我认为任何按 Ctrl+u
或使用开发工具的人都可以看到我的用户访问权限。
有什么建议吗?
恐怕你不能那样做,你需要一些服务器端应用程序以安全的方式连接到数据库。 您必须始终遵循一些黄金法则:
- 客户端没有安全措施。
- 永远不要相信来自客户的信息,即使您认为它是经过验证的。
为了安全起见,你可以使用firebase auth
这些是许多安全登录方法,例如
-FirebaseUI -基于密码 -Facebook -Google..等
reference link- https://firebase.google.com/docs/auth/web/start
如果您计划将 firebase 用于大型数据库,请记住一件事,firebase 不是为大型数据库设计的,它 limited.You 无法比较firebase 到 SQL n MySQL 等数据库。专为小型数据库设计的 Firebase。
如果您通过一个硬编码凭据授予您的聊天客户端写访问权限(真的很容易被人知道)- 您就处于非常危险的一面:一个人可以迅速用大量垃圾填满您的数据库。硬编码读取凭据没有任何危害(为了分离对不同服务器数据库的访问,即)但对于写入凭据,您肯定需要注册,这意味着节点或其他东西。它将处理新用户的创建,并让您能够阻止不需要的客户端行为,以防万一。
使用这个库尝试 angularfire2 库用于 firebase,不需要 nodejs 或任何后端服务器。它直接与 firebase.here 通信是图书馆 https://github.com/angular/angularfire2