0

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

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

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

4

3 回答 3

2

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

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

嗯,这很简单——熟悉html5 的离线功能

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

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

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

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

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

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

于 2012-05-09T15:43:31.803 回答
2

假设你在他们的机器上为单个用户安装这个——你最好的办法是安装 apache/php/mysql,并将 apache 配置为拒绝来自任何远程 IP 地址的连接。

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

于 2012-05-09T15:51:41.173 回答
0

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

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

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

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

于 2012-05-09T15:31:05.827 回答