将PHP MySQL Web应用程序脱机移动

时间:2012-05-09 15:22:21

标签: php mysql web-applications offline-mode

我最近为我的公司构建了一个Web应用程序,现在他们希望它支持离线模式。为了使事情复杂化,我的公司非常关注安全性,并且不希望我使用Xampp或Mamp。该应用程序处理敏感数据,他们认为这些程序将以某种方式使数据对外界可见(尽管我完全确定会出现这种情况)。

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

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

3 个答案:

答案 0 :(得分:2)

你的问题有一些奇怪的地方

  

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

嗯,这很容易 - 熟悉html5's offline features

  

为了使事情变得复杂,我的公司非常关注安全性,并且不希望我使用Xampp或Mamp

您是否在台式机上部署了自己的网络应用?或者你是说你被禁止使用网络服务器? Xampp / Mamp是开发工具 - 面向公众的应用程序应该在专门为此目的配置的机器上,运行apache / nginx / iis / PHP5.4-builtin /无论你喜欢什么的网络服务器。

  

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

您的环境如何不典型? Mike提到了php-gtk - 但IMO你不应该沿着那条路走下去,除非你的要求是“桌面应用程序”+“绝对必须用php编写” - 你的问题不清楚。

  

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

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

答案 1 :(得分:2)

假设您正在为他们的计算机上的个人用户安装此功能 - 最好的办法是安装apache / php / mysql,并配置apache以拒绝来自任何远程IP地址的连接。

环境应该与您当前的应用程序基本相同,但系统中只有一个用户。

答案 2 :(得分:0)

如果你想运行html / javascript,你可能需要在服务器/客户端环境中运行它,因为浏览器不能运行php和php应用程序作为一个独立的应用程序需要一些东西来解析html / css / javascript(它需要浏览器的演示文稿视图)。

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

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

如果应用程序需要存储其他计算机/用户访问的数据,则需要在网络上。如果不需要这样做,您可以考虑使用面向桌面应用程序的不同编程语言,这样您就可以完全脱机(例如Java或.NET)。