безопасность — лучший способ сохранить работу CRM в автономном режиме с переполнением стека

Я создал CRM Saas для своего клиента, используя PHP, jQuery и HTML.

Недавно у моего клиента возникли некоторые проблемы с его сетью в офисе, и весь бизнес закрывается, потому что CRM не работает, когда сеть выключена,

Я хочу создать решения для подобных ситуаций,

например, я подумал, что, возможно, я создам локальную копию crm, и я сделаю синхронизацию между базой данных на сервере и локальной базой данных, и в тот момент, когда сеть будет отключена, я перенаправлю пользователя на локальную копию. CRM

и когда сеть снова запустится, я синхронизирую локальную БД с серверной БД и перенаправляю пользователя на CRM, который находится на сервере.

но у меня есть 1 проблема с этим решением,

я не хочу, чтобы у пользователя были исходные файлы CRM,

Есть ли зачем защищать эти файлы от него?

благодарю вас!

1

Решение

Вы можете установить локальный сервер с вашим выбором ОС, Apache, MySQL и т. Д. И зашифровать локальный диск, чтобы клиент не мог получить доступ к файлам в любое время:

Ссылка для Ubuntu: https://help.ubuntu.com/community/FullDiskEncryptionHowto

Если все ваши веб-документы (PHP, HTML и т. Д.) Все статические, то я предполагаю, что ваша база данных — это единственное, что необходимо синхронизировать. Мой совет будет идти по маршруту Active-> Standby:

Ссылка для MySQL: https://grox.net/sysadm/misc/mysql_active-standby_master-master.replication

Таким образом, в основном вам нужно настроить локальную базу данных вашего сайта на отключение, но при этом синхронизировать данные из активного экземпляра. Когда локальная БД не может связаться (через пульс или эхо-сигнал ICMP), локальная БД становится активной. Это также потребует незначительной настройки DNS или вам потребуется настроить этот сигнал в PHP на каждом соединении с БД.

Глядя на вышесказанное для единственной БД, я был бы более склонен отказаться от размещения и сохранить его локальным. Просто предоставьте себе любой доступ, необходимый для их поддержки (FTP, VNC и т. Д.).

1

Другие решения

Вы можете зашифровать код. Есть несколько способов сделать это, как на сам код PHP, так и на платформу, на которой выполняется код.

Обфускаторы PHP — всего несколько, вы можете получить больше на Google

Другой способ — установить VirtualBox на стороне клиента и запустить приложение в коробке Ubuntu / Fedora / WhwhatDistroYouLike с зашифрованной файловой системой. Всякий раз, когда вам нужно что-то обновить, вы можете легко создать новую версию виртуальной машины, протестировать ее на своем конце, а затем просто установить ее на территории клиента (это займет несколько минут). Контейнеры с зашифрованным докером также стоит посмотреть!

1

По вопросам рекламы [email protected]