Я хотел бы знать, есть ли способ установить права доступа к файлам на моем сервере apache, чтобы файлы могли обслуживаться apache, но не могли быть прочитаны или доступны избранным пользователям. По сути, я пытаюсь выяснить, можно ли "черным ящиком" части кода PHP моего проекта нанять нанятых консультантов.
Apache будет обращаться к файлам как конкретный пользователь ОС, обычно называемый «www-data» или аналогичный, принадлежащий к определенной группе ОС (обычно «www-data» или аналогичный).
Если другие пользователи обращаются к файлам через веб-сервер, вам потребуется некоторый контроль доступа на уровне выше ОС одна (скажем, прикладного уровня). Например, вы можете реализовать тривиальный контроль доступа в php.
Если вы хотите, чтобы другие пользователи ОС не могли напрямую обращаться к файлам в файловой системе (не проходя через веб-сервер), вы можете просто дать разрешение на чтение группе ОС для этого набора файлов и добавить / удалить пользователей ОС для этого набора. группа в соответствии с вашими потребностями.
НОТА: я только интерпретированный Ваш вопрос, потому что он был мне не очень понятен. Может быть, вы могли бы немного уточнить, чтобы получить более подходящие ответы.
Если вы хотите защитить части вашего приложения от посторонних глаз, вам, вероятно, следует рассмотреть возможность использования кодировщика PHP (популярные варианты - IonCube и Zend Guard). Обратите внимание, что для этого вам необходимо установить расширение декодера, поэтому, если вы используете общий хостинг, обязательно обратитесь к своему хостинг-провайдеру, чтобы узнать, подходит ли это вам решение.
Попросите консультантов поработать в среде разработки и самостоятельно выполнить развертывание в вашей производственной среде, когда они предоставят код, готовый к запуску.
Любой другой подход будет иметь хотя бы некоторый потенциал для консультантов получить доступ к коду, к которому вы не хотите, чтобы они имели доступ.
Да - это банально.
Создайте группу для людей, которые должны иметь разрешение на чтение файлов и включить пользователя, которого запускает ваш веб-сервер, а затем установите права доступа к файлам как rw-r ---- (0640) Обратите внимание, что нет способа предотвратить сценарии PHP, написанные злодеи от чтения файлов.
С.
Это зависит от базовой операционной системы, в Unix такие ограничения вполне возможны.
Если вы не хотите доверять им достаточно, чтобы прочитать код, лучший способ, imho, - это: