使用PHP保持CRM脱机工作的最佳方法

时间:2016-10-15 19:10:48

标签: php security localhost crm offline

我使用PHP,jQuery和HTML为我的客户创建了一个CRM Saas。

最近我的客户在办公室的网络出现了一些问题,所有的业务都因为在网络关闭时CRM不能正常工作而关闭,

我想为这样的情况创建一个解决方案,

例如,我认为也许我将创建crm的本地副本,我将在服务器中的数据库和本地数据库之间进行同步,并且在网络将关闭的那一刻,我将用户重定向到CRM的本地副本

当网络再次运行时,我会将本地数据库同步到服务器数据库,并将用户重定向到服务器上的CRM。

但是这个解决方案有1个问题,

我不希望用户拥有CRM的源文件,

有什么原因可以保护他的文件吗?

谢谢你!

2 个答案:

答案 0 :(得分:1)

您可以安装具有OS,Apache,MySQL等风格的本地服务器......并加密本地驱动器以确保客户端无法随时访问文件:

Ubuntu的链接https://help.ubuntu.com/community/FullDiskEncryptionHowto

如果您的所有Web文档(PHP,HTML等等)都是静态的,那么我猜你的数据库是唯一需要同步的东西。我的建议是走下Active-> Standby:

的路线

MySQL链接: https://grox.net/sysadm/misc/mysql_active-standby_master-master.replication

因此,基本上您需要将站点本地数据库配置为脱机但仍然从Active实例同步数据。当本地数据库无法通信(通过心跳或ICMP回应)时,本地数据库将变为活动状态。这也需要较小的DNS配置,或者您需要在每个数据库连接上在PHP中配置此心跳。

在上面看到一个单一的数据库,我更倾向于废弃托管并保持本地化。只需给自己提供支持它们所需的访问权限(FTP,VNC等)。

答案 1 :(得分:1)

您可以加密代码。有几种方法可以做到这一点,它们都会影响PHP代码本身或运行代码的平台。

PHP混淆器 - 只需几个,你可以在Google上获得更多

另一种方法是在客户端的场所安装VirtualBox,并在带有加密文件系统的Ubuntu / Fedora / WhateverDistroYouLike框中运行该应用程序。每当您需要更新某些内容时,您可以轻松地创建新版本的虚拟机,在您的最后测试它,然后将其安装在客户端的场所(需要几分钟)。加密的Docker容器也值得一看!