【发布时间】:2018-11-12 01:07:30
【问题描述】:
我的任务是将 PHP 应用程序转换为渐进式 Web 应用程序。这需要将现有的 PHP 逻辑转换为运行客户端的 JavaScript。
但是,PHP 应用程序包含敏感信息,包括 SQL 凭据,这些信息绝不能泄露。这使得转换变得复杂,因为渐进式网络应用的最大要求之一是离线优先,或者能够在没有互联网连接的情况下运行和/或即使有互联网连接也不会减慢速度。
加密 JavaScript 代码不是一种选择,因为无论加密多么强大,解密代码都必须与它一起提供,因此,坚定的黑客总是能够破解加密。 HTTPS 无法阻止黑客越狱他们的手机。
另一方面,向保存敏感凭据的代理服务器发送 Ajax 请求会降低应用程序的速度,从而破坏渐进式 Web 应用程序的全部意义。
我花了好几个小时在网上寻找解决方案,但我发现没有什么是足够相关的。那么开发人员应该如何确保 SQL 凭据和其他敏感信息永远不会在渐进式 Web 应用程序中暴露呢?
编辑:我应该澄清一下,虽然我知道将本地数据与服务器数据同步是渐进式网络应用程序的首选行为,但在这种特殊情况下我被明确禁止这样做。数据必须保密。
【问题讨论】:
-
您的 SQL 凭据不应位于靠近客户端代码的任何位置。 PWA 并不意味着“没有服务器端代码”
-
忽略了 PWA 的工作原理。在线时,您将本地数据与服务器数据同步。
-
@charlietfl:你说得有道理,我希望我能听从你的建议,但就我而言,出于保密原因,我被明确禁止让客户下载任何数据。我应该编辑问题以澄清这个事实......
-
数据总是下载到客户端,你选择保留多久是另一回事。显然,您不能“先下线”和“不下线” - 必须有人以一种或另一种方式下定决心。
标签: javascript sql progressive-web-apps pwa