有没有办法保护数据不被PWA欺骗?

时间:2017-09-06 09:49:33

标签: react-native ionic3 progressive-web-apps

假设我有一个客户花了很多时间和金钱创建自定义数据库。因此需要额外的数据安全性。他们担心,如果数据库中的信息允许从普通的Web应用程序访问它,则可能会被删除。安全登录是不够的;有人可以登录然后抓取数据。就像任何其他网络应用程序一样,PWA也无法防范这种情况。

我的总体看法是,必须安装的混合应用程序可以更好地保护敏感数据。对于这个项目,我倾向于React-Native或Ionic。

我错了吗?有没有办法保护数据不被PWA中的数据删除?

2 个答案:

答案 0 :(得分:3)

无论技术如何,都无法保护浏览器客户端可见的数据 - 简单的HTML或PWA /混合应用程序。

虽然你可以使它变得更加困难。

  1. 强制限制客户每分钟/小时/天可以获取的信息量。超过限制的人可以被阻止/起诉/无论如何。

  2. 您可以将某些数据作为图像而不是文本返回。会使提取过程变得更加困难,但会使您的应用程序变得复杂并且会占用更多带宽。

  3. 如果我们谈论的是原生/混合应用,它可以添加更多层,以使其更安全:

    • 使用HTTPS连接并强制检查有效证书。
    • 如果你能检查一个特定的证书就更好了,所以它不会被中间人替换。

    我认为iOS应用程序比Android更安全,因为Android更容易反编译并运行已删除限制的修改版本。

    同样,速率限制似乎是最具成本效益的解决方案。

    除了速率限制之外,您还可以添加某种模式限制。例如,如果客户端以接近限制的固定间隔请求数据,则认为请求来自机器人并且数据正在被废弃是合乎逻辑的。

答案 1 :(得分:1)

HTTPS会对从API中检索到的数据进行加密,因此无法对其进行嗅探。由一个男人在中间。 存储在Cache和IndexedDB中的数据有些加密,这使得访问变得困难。 您应该做的是保护对身份验证后面的数据的访问。 有人可以获取存储数据的唯一方法是打开开发人员工具并查看InsdexedDB中的数据。现在,您只能看到缓存数据库中已缓存响应。

就像亚历山大所说,混合或本机应用程序不会比网络应用程序更好地保护数据。