实际上,Phonegap 应用程序并不是真正的“全原生”。只有系统功能(如文件访问、相机访问等)被翻译成它们的 Java 对应部分。它仍然使用 webview 和大量的 javascript 来实现应用程序的业务逻辑。
所以,回答你的问题,本地存储问题仍然是一个有效的问题,因为它是这些框架(PhoneGap、Cordova、Ionic 等)用来制作 UI 的 Web 视图组件的一个特性。
此外,所有带有标识/秘密元素(会话 ID、刷新令牌等)的请求都应通过HTTPS发出,以防止恶意观察者知道它们的值。
在您的 cookie 中标记的HttpOnly标志只会阻止该值通过 JavaScript 被操纵。因此,您还应该将Secure标志添加到这些 cookie,以避免通过未加密的连接发送它们。
如果您使用加密连接,请不要让它接受任何证书。请务必正确验证服务器提供的证书的有效性。
自签名证书的安全解决方案不是禁用检查或使其返回任何证书的“true”,而是固定您生成的证书或将用于创建证书的 CA 添加到受信任的 CA 列表中。
为了帮助您进一步寻求保护您的移动应用程序通信:
OWASP 文档解释了证书固定
页面,讨论了利弊,并提供了链接和
关于证书固定的示例 SE 问题
编辑:据
我所知,这是框架实现创建的不正确行为。长回答短:“这应该是可能的,但我们把事情搞砸了。” 我尝试为 phonegap 开发测试应用程序,但发现(实施)像这样的错误让我放弃并回到原生 Android。就是说,我希望您将我的答案恢复为零,因为这应该是正确的,因为您的应用程序不是您所说的本机,但不幸的是,由于 phonegap 的处理方式,无法解决问题。