【问题标题】:MeteorJS Publish/Subscribe Model on MobileMeteorJS 在移动设备上发布/订阅模型
【发布时间】:2015-08-26 19:55:27
【问题描述】:

我正在使用 MeteorJS 为手机创建应用程序。它将部署到 iOS 和 Android。

我知道 autopublish 包用于简化数据库管理,但是当使用 MeteorJS 作为端点是浏览器而数据库位于远程服务器上的网站时,它也可能会引入一些安全问题。要解决这个问题,您可以删除 autopublish 包并更好地使用 Meteor.methods() 函数。

我想知道这是否与流星“本机”移动部署相关,其中完整堆栈部署到设备。因此,如果用户要在设备上独立应用程序的本机包装器中为 webview 加载 javascript 控制台,则用户将只能影响对设备本地数据库的更改(与基于浏览器的版本不同,其中存在共享数据库)。

这有意义吗?我对 Meteor 很陌生,所以我希望我不会误解 Meteor 的工作原理。

【问题讨论】:

    标签: meteor


    【解决方案1】:

    “'native' 移动部署,其中完整堆栈部署到设备”不存在。当您部署到 ios 或 android 时,使用 Cordova/Phonegap 包装并部署的是您的客户端代码,您的服务器必须与浏览器客户端的部署相同。

    对于浏览器和移动客户端,在部署到生产环境之前,您应该始终删除自动发布和不安全的包。

    浏览器和移动客户端的情况相同。两者都无法访问“共享”数据库,都使用内存数据库中的 minimongo,该数据库由 ddp pub/sub 协议保持更新。

    Meteor 开发人员的功劳在于,开发人员使用它的体验让您(几乎)可以直接访问服务器数据库。

    This is in line with standard secure coding principles

    出版物发布服务器数据库数据的子集有两个原因:安全性和性能。虽然可能存在您真正想要发布所有内容的极端情况,但在现实世界的应用中,这可能会泄漏(敏感)数据,并通过发送超出要求的内容来减慢您的应用速度。

    出于同样的原因,还必须删除不安全的软件包,就好像您允许攻击者读/写访问您的服务器数据一样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-14
      • 1970-01-01
      • 2016-04-25
      • 1970-01-01
      相关资源
      最近更新 更多