Назад | Перейти на главную страницу

Можно ли установить разрешение на файл на моем сервере Apache, чтобы файлы могли читать только избранные пользователи?

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

Apache будет обращаться к файлам как конкретный пользователь ОС, обычно называемый «www-data» или аналогичный, принадлежащий к определенной группе ОС (обычно «www-data» или аналогичный).

Если другие пользователи обращаются к файлам через веб-сервер, вам потребуется некоторый контроль доступа на уровне выше ОС одна (скажем, прикладного уровня). Например, вы можете реализовать тривиальный контроль доступа в php.

Если вы хотите, чтобы другие пользователи ОС не могли напрямую обращаться к файлам в файловой системе (не проходя через веб-сервер), вы можете просто дать разрешение на чтение группе ОС для этого набора файлов и добавить / удалить пользователей ОС для этого набора. группа в соответствии с вашими потребностями.

НОТА: я только интерпретированный Ваш вопрос, потому что он был мне не очень понятен. Может быть, вы могли бы немного уточнить, чтобы получить более подходящие ответы.

Если вы хотите защитить части вашего приложения от посторонних глаз, вам, вероятно, следует рассмотреть возможность использования кодировщика PHP (популярные варианты - IonCube и Zend Guard). Обратите внимание, что для этого вам необходимо установить расширение декодера, поэтому, если вы используете общий хостинг, обязательно обратитесь к своему хостинг-провайдеру, чтобы узнать, подходит ли это вам решение.

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

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

Да - это банально.

Создайте группу для людей, которые должны иметь разрешение на чтение файлов и включить пользователя, которого запускает ваш веб-сервер, а затем установите права доступа к файлам как rw-r ---- (0640) Обратите внимание, что нет способа предотвратить сценарии PHP, написанные злодеи от чтения файлов.

С.

Это зависит от базовой операционной системы, в Unix такие ограничения вполне возможны.

Если вы не хотите доверять им достаточно, чтобы прочитать код, лучший способ, imho, - это:

  1. Ограничьте доступ ко всему серверу apache, особенно если это производственная среда
  2. Заставьте их использовать SVN или другое программное обеспечение для управления версиями и извлекать их код удаленно с вашего сервера.
  3. Реализуйте сервис-ориентированную архитектуру, такой дизайн может быть полезен для того, чтобы скрыть какую-то часть. Пока служба четко документирована и работает должным образом, нет необходимости видеть базовый код для разработки с ее помощью.