Контроль исходного кода с определенными ограничениями на файлы и папки - PullRequest
0 голосов
/ 24 апреля 2011

В настоящее время я использую SSH + SVN для веб-проекта, разработанного в основном на PHP.Со мной работает еще один разработчик, и мы оба выходим из репозитория в наши собственные песочницы, которые можно просматривать из Интернета.

Я хочу добавить новых исполнителей и ограничить их определенными частями кода проекта.Как мне добиться этого и при этом позволить им иметь «песочницу» для предварительного просмотра сайта с их изменениями в нем?

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

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

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

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ: Я настраиваю виртуальный хост и DNS, которые указывают на их каталог песочницы (пример: devuser1.mydomain.com), чтобы они могли сделать тестирование.Они извлекают код прямо из транка в свою песочницу и редактируют код на своих IDE, удаленно подключенных через SSH.Как упоминалось выше, в репозитории есть некоторый код, который должен быть запрещен, но все же необходим для запуска сайта, когда они редактируют и тестируют в своих песочницах.Все разработчики используют один и тот же экземпляр БД MySQL.

Ответы [ 2 ]

0 голосов
/ 24 апреля 2011

Адресация «требует выполнения файла proprietary_algo.php, но они не могут скопировать код или прочитать код внутри него». Если NDA не будут сокращать его, вас ждет мир боли.

Даже если вы настроите элементы управления доступом SVN, вы не сможете остановить их сценарии PHP, копирующие секретные сценарии в вывод HTTP.

На самом деле, вы можете остановить это, но им придется либо:

  1. Вызовите секретный скрипт с помощью http-запроса (например, curl). Вам потребуется реализовать интерфейс XML / JSON / name-your-HTTP-RPC-метода между доверенным и ненадежным кодом.
  2. Разрешить выполнение ненадежного кода Сценарии в CGI-режиме.
0 голосов
/ 24 апреля 2011

Вы можете сделать это, если используете svn + httpd .

...