将PHP MySQL web应用程序脱机

将PHP MySQL web应用程序脱机,php,mysql,web-applications,offline-mode,Php,Mysql,Web Applications,Offline Mode,我最近为我的公司构建了一个web应用程序,现在他们希望它支持离线模式。更复杂的是,我的公司非常关注安全性,不希望我使用Xampp或Mamp。该应用程序处理敏感数据,他们认为这些程序将以某种方式使数据对外部世界可见(尽管我完全相信会是这样) 无论如何,我正在寻找一种允许我的应用程序离线运行的方法,并支持以下技术:PHP、MySQL、jQuery。其中最困难的部分是我需要在典型的服务器环境之外执行PHP代码 有谁能给我一些建议,告诉我如何实现这样一个系统,以及我在安全性和数据存储方面可能面临的任何相

我最近为我的公司构建了一个web应用程序,现在他们希望它支持离线模式。更复杂的是,我的公司非常关注安全性,不希望我使用Xampp或Mamp。该应用程序处理敏感数据,他们认为这些程序将以某种方式使数据对外部世界可见(尽管我完全相信会是这样)

无论如何,我正在寻找一种允许我的应用程序离线运行的方法,并支持以下技术:PHP、MySQL、jQuery。其中最困难的部分是我需要在典型的服务器环境之外执行PHP代码


有谁能给我一些建议,告诉我如何实现这样一个系统,以及我在安全性和数据存储方面可能面临的任何相关漏洞吗?

如果你想运行html/javascript,您可能需要在服务器/客户机环境中运行它,因为浏览器无法运行php,而php应用程序作为独立应用程序需要一些东西来解析html/css/javascript(它的表示视图需要浏览器)

最好的做法是将应用程序放到您控制访问的服务器上。仅将访问控制设置为特定的IP地址,如果您可以在防火墙后面的内联网上运行访问控制,甚至更好,因为网络之外的任何人都无法访问它

PHP可以在桌面环境中运行,但关键是它不会运行用于显示的javascript/html。您可以将php与第三方库(如php gtk)结合使用,制作一个不需要服务器或浏览器的桌面应用程序,但php gtk没有最好的支持


如果应用程序需要存储数据以供其他计算机/用户访问,则它需要位于网络上。如果不需要这样做,你可以考虑使用面向桌面应用程序的不同编程语言,这样你就可以完全离线(java或.net)。

如果你想运行HTML/JavaScript,您可能需要在服务器/客户机环境中运行它,因为浏览器无法运行php,而php应用程序作为独立应用程序需要一些东西来解析html/css/javascript(它的表示视图需要浏览器)

最好的做法是将应用程序放到您控制访问的服务器上。仅将访问控制设置为特定的IP地址,如果您可以在防火墙后面的内联网上运行访问控制,甚至更好,因为网络之外的任何人都无法访问它

PHP可以在桌面环境中运行,但关键是它不会运行用于显示的javascript/html。您可以将php与第三方库(如php gtk)结合使用,制作一个不需要服务器或浏览器的桌面应用程序,但php gtk没有最好的支持


如果应用程序需要存储数据以供其他计算机/用户访问,则它需要位于网络上。如果不需要这样做,你可能会考虑使用面向桌面应用程序的不同编程语言,这样你就可以完全离线(这样的java或.net)。

你的问题

有一些奇怪的地方。 现在他们希望它支持离线模式

嗯,这很容易——熟悉

更复杂的是,我的公司非常关注安全性,不希望我使用Xampp或Mamp

您是否在桌面计算机上部署了web应用程序?或者你的意思是你被禁止使用网络服务器??Xampp/Mamp是开发工具—面向公众的应用程序应该位于专门为此目的配置的机器上,该机器上的Web服务器运行apache/nginx/iis/PHP5.4-builtin/您喜欢的任何东西

其中最困难的部分是我需要在典型的服务器环境之外执行PHP代码

你的环境如何不典型?Mike提到了php gtk——但在我看来,除非你的需求是“桌面应用程序”+“绝对必须用php编写”——这在你的问题中并不清楚,否则你不应该走这条路

我在安全性和数据存储方面可能面临的任何相关漏洞


好的,你把任何东西放在客户端(浏览器)的本地存储中,用户都可以访问——记住这一点。从您的角度来看,不要将敏感数据发送到不安全的伪公共位置,即某些用户的浏览器缓存。

您的问题中有一些奇怪的地方

现在他们希望它支持离线模式

嗯,这很容易——熟悉

更复杂的是,我的公司非常关注安全性,不希望我使用Xampp或Mamp

您是否在桌面计算机上部署了web应用程序?或者你的意思是你被禁止使用网络服务器??Xampp/Mamp是开发工具—面向公众的应用程序应该位于专门为此目的配置的机器上,该机器上的Web服务器运行apache/nginx/iis/PHP5.4-builtin/您喜欢的任何东西

其中最困难的部分是我需要在典型的服务器环境之外执行PHP代码

你的环境如何不典型?Mike提到了php gtk——但在我看来,除非你的需求是“桌面应用程序”+“绝对必须用php编写”——这在你的问题中并不清楚,否则你不应该走这条路

我在安全性和数据存储方面可能面临的任何相关漏洞


好的,你把任何东西放在客户端(浏览器)的本地存储中,用户都可以访问——记住这一点。从您的角度来看,不要将敏感数据发送到不安全的伪公共位置,即某些用户的浏览器缓存。

假设您是为其计算机上的单个用户安装此缓存,最好安装apache/php/mysql,并将apache配置为拒绝来自任何远程IP地址的连接

环境应该基本上与环境相同