Создать контейнер с php-файлами, недоступными для пользователя, запускающего Docker-контейнер?

Мне нужно знать, есть ли возможность создать контейнер, в котором запущено мое php-приложение, с некоторыми из моих php-файлов, недоступных извне докера.

Секрет докера нельзя применить ни к этому делу, ни к другому.

Есть что-то, что я мог упустить из виду?

Редактировать:
Видимо, это невозможно, мне все еще нужно подробное объяснение, почему это невозможно.

Edit2: нам нужно сделать файлы в докере недоступными (чтобы код не мог быть прочитан) пользователю, запустившему контейнер. Открытие порта 80 для выполнения / запуска скриптов через apache не является проблемой.

3

Решение

Я понимаю, что вы намереваетесь каким-то образом распространять свое приложение через Docker и не хотите, чтобы пользователь, запускающий контейнер, читал код PHP.

Эту проблему не нужно решать Docker, поскольку файловая система контейнера доступна пользователю, выполняющему контейнер.

Проблема сокрытия исходного кода обычно решается с помощью инструментов, специфичных для языка программирования. Некоторые инструменты пытаются зашифровать исходный код и расшифровать его на лету. Другие инструменты пытаются запутать исходный код, чтобы его было очень трудно понять.

Некоторые инструменты для этого на PHP:

http://www.phpprotect.info/
http://www.semanticdesigns.com/Products/Obfuscators/PHPObfuscator.jsp

Вы можете применить эти инструменты перед добавлением кода в создаваемое изображение.
Однако обратите внимание, что все эти инструменты / методы могут быть отменены нетривиальным пользователем.

Чтобы действительно защитить код, вы должны создать лицензию или разместить службу и предоставлять только API.

2

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

Во-первых, не ясно, что вы подразумеваете под скрытый / недоступный снаружи докера.

На какой порт или метод вы хотели бы ограничить это? Физически невозможно отказать root или администратору в просмотре чего-либо, особенно когда ему необходимо выполнить его одновременно.

Когда вы говорите о http / port 80, вы, конечно, можете ограничить файлы в корне документа или вообще, что можно увидеть снаружи, а что нет.

Во-вторых, существует большая разница между скрытый а также unaccessable. Вы можете попытаться скрыть все как можно лучше, использовать скрытые папки и скрыть структуру папок. Но это не помешает администратору иметь возможность просматривать или получать доступ к файлу.

На данный момент ваш вопрос является расплывчатым и неясным, мы не знаем вашу цель и что именно вы хотите при каких обстоятельствах.

Обновить

Вы можете зашифровать код PHP с помощью различных инструментов, таких как Zend Guard например. Zend — компания, стоящая за PHP. Это используется именно для таких случаев, как ваш, оно позволяет лицензировать PHP-приложения и шифровать код.

1

Разве вы не можете разместить ограниченные файлы на своем собственном сервере, как приложение SaaS. Если нет, то я думаю, что запутывание и другие инструменты — ваш лучший выбор.

1
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector