Задать вопрос

Как защитить Web приложение?

Каким образом можно предоставлять свои web приложения на сервера клиентов с исключением доступа к исходному коду.

Исходные данные: приложение на PHP с базой на MySQL, используется апач и стандартные PHP библиотеки для функционала.

Как вариант думал сделать образ машины с установкой на оборудование клиента, но даже в таком случае на сколько мне известно существует возможность получить доступ к содержимому этого образа.

Хотелось бы узнать какие еще существуют варианты защиты данных (в том числе и данные в базах чтоб не были доступны кроме как самому приложению).

PS: написал это как комментарий к одному из ответов, но позже решил что это достаточное уточнение чтоб отмести основные предлагаемые варианты.

Защита идет по двум путям - первое защита самого кода от посторонних глаз так как в нем будут присутствовать алгоритмы обращения к центральному серверу по лицензионному ключу за закрытым контентом, а в открытом коде это обходится правкой одной проверки. А во вторых это защита приватных данных клиентов от человеческого фактора. Все таки админы в последнее время имеют неоправданно большой доступ к данным клиентов, а человеческий фактор - самая уязвимая деталь как показывают новости о взломах.
  • Вопрос задан
  • 2955 просмотров
Подписаться 4 Оценить Комментировать
Решение пользователя Павел Елизарьев К ответам на вопрос (5)
effetto
@effetto
.Net разработчик
Рекомендую Вам для начала задуматься над вопросом: "от кого вы собрались защищаться?".

Если Вы хотите чтобы Ваш клиент, не обладающий специальными навыками не уркал Ваше ПО, то Вам будет достаточно обфускаторов, о которых пишут коллеги выше (Zend, например).

Если Вы хотите защитить решения от угроз извне приложения, Вам следует нанять специалиста разработчика и провести аудит безопасности Вашего решения. Так же можете воспользоваться сканерами безопасности, типа XSpider или подобных.

Защитить же решение, которое размещается на внешнем сервере от хакеров / крякеров или иных специалистов, которые почему-то захотели именно Вашу программульку, Вам скорее всего самому не удастся. В таком случае стоит обратиться к профессионалам. Скорее всего Вам предстоит в таком случае пересмотреть архитектуру Вашего ПО, а так же каналы его распространения. Самый надежный сегодня вариант - это архитектура Software as a Service и собстенные защищенные сервера. Так поступают лидеры рынка, которые заполонили веб своими облачными решениями.
Ответ написан