【问题标题】:Best way to keep CRM working offline with PHP使用 PHP 保持 CRM 离线工作的最佳方法
【发布时间】:2017-02-25 01:34:53
【问题描述】:

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

最近我的客户在办公室遇到了一些网络问题,所有业务都关闭了,因为 CRM 在网络关闭时无法正常工作,

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

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

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

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

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

有什么理由从他那里保护这些文件吗?

谢谢!

【问题讨论】:

    标签: php security localhost crm offline


    【解决方案1】:

    您可以安装具有您的操作系统、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

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

    查看上面的单个数据库,我更倾向于废弃托管并将其保留在本地。只需为自己提供支持它们所需的任何访问权限(FTP、VNC 等)。

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2018-05-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多