Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 渐进式Web应用程序和专用SQL凭据_Javascript_Sql_Progressive Web Apps_Pwa - Fatal编程技术网

Javascript 渐进式Web应用程序和专用SQL凭据

Javascript 渐进式Web应用程序和专用SQL凭据,javascript,sql,progressive-web-apps,pwa,Javascript,Sql,Progressive Web Apps,Pwa,我的任务是将PHP应用程序转换为渐进式web应用程序。这需要将现有的PHP逻辑转换为运行客户端的JavaScript 但是,PHP应用程序包含敏感信息,包括SQL凭据,这些信息决不能泄露。这使转换复杂化,因为渐进式web应用程序的最大要求之一是首先脱机,或者在没有Internet连接的情况下运行和/或即使有Internet连接也不会减速 加密JavaScript代码不是一个选项,因为无论加密有多强,解密代码都必须与之一起提供,因此,坚定的黑客将始终能够破解加密。HTTPS无法阻止黑客越狱 另一方

我的任务是将PHP应用程序转换为渐进式web应用程序。这需要将现有的PHP逻辑转换为运行客户端的JavaScript

但是,PHP应用程序包含敏感信息,包括SQL凭据,这些信息决不能泄露。这使转换复杂化,因为渐进式web应用程序的最大要求之一是首先脱机,或者在没有Internet连接的情况下运行和/或即使有Internet连接也不会减速

加密JavaScript代码不是一个选项,因为无论加密有多强,解密代码都必须与之一起提供,因此,坚定的黑客将始终能够破解加密。HTTPS无法阻止黑客越狱

另一方面,向持有敏感凭据的代理服务器发送Ajax请求会降低应用程序的速度,从而破坏渐进式web应用程序的整体性能

我花了几个小时在网上查找解决方案,但我发现没有什么是相关的。那么,开发人员应该如何确保SQL凭据和其他敏感信息永远不会在progressive web应用程序中公开呢


编辑:我应该澄清一点,虽然我理解将本地数据与服务器数据同步是渐进式web应用程序的首选行为,但在这种特殊情况下,我明确禁止这样做。数据必须保密。

要回答关于如何在客户端安全存储数据库密码的原始问题,“您不能”。客户端的任何内容都不适用于服务器端DB密码等敏感信息

PWA是一款具有新功能的web应用程序。但这些并没有为您提供任何额外的安全性来执行类似服务器端的操作,您可以对用户隐藏这些操作。即使您使用HTTPS,它也只会通过网络加密数据

如果您使用:如果您将“DB密码”存储在PWA应用程序或任何web应用程序中,用户可以使用Chrome开发工具获取密码,并使用该工具直接连接到DB以获取其中的所有数据,而不仅仅是他的数据

解决方案:PHP是一种服务器端脚本语言。当您将其转换为HTML/JS时,它的服务器端代码将保留下来,以便您将其再次放入服务器端本身,并使用web服务将数据公开给PWA


下载数据时:缓存并不完全等同于下载。如果您仍然不需要缓存,您可以使用同一链接中解释的“仅网络”模式,并使用其他PWA方面。如通知,安装到主屏幕

您的SQL凭据不应靠近客户端代码。PWA并不意味着“没有服务器端代码”忽略了PWA的工作原理。联机时,您可以将本地数据与服务器数据同步。@charlietfl:您说得对,我希望我能听从您的建议,但就我而言,出于保密原因,我被明确禁止让客户端下载任何数据。我应该编辑这个问题来澄清这个事实……数据总是下载到客户端,您选择保留多长时间是另一回事。显然,你不能“先下线”或“不下线”——有些人必须以某种方式下定决心。