Безопасно ли иметь /.svn/ папки на живом сайте? (Как удалить их, но сохранить возможность обновления SVN?)
Я делаю обновление SVN, чтобы обновить код для моего сайта PHP, но он оставляет .svn/
папки по всему.
Я считаю опасным оставлять эти файлы общедоступными для чтения, но очень легко обновлять систему.
Есть ли способ использовать svn update
обновить систему, но не экспортировать .svn/
папки?
5 ответов
Если вы используете apache:
<Directory ~ "\.svn">
Order allow,deny
Deny from all
</Directory>
Это заблокирует доступ людей .svn
каталоги удаленно (используя браузер), но вы можете сохранить их (и возможности SVN) в проекте.
Кстати, вы можете заменить \.svn
за \.git
или же \.cvs
если вы используете что-то другое, чем Subversion.
Вы должны изменить конфигурацию apache, чтобы он запрещал доступ к папке.svn. эта тема имеет больше информации https://stackoverflow.com/questions/398008/deny-access-to-svn-folders-on-apache
Вы хотите экспортировать свой код из SVN на живой сайт...
Не использовать svn update
для этого. обновление предназначено для использования с обновлением рабочих копий, а не с экспортом кода. использование svn export
вместо этого, поскольку он экспортирует чистое дерево каталогов из указанного хранилища.
--force
Флаг позволит экспорту перезаписать существующие файлы.
Я не помещаю их в производственные / живые сайты. Потому что я не хочу, чтобы я и / или другие разработчики забывали, что плохая идея - редактировать живой код. Мой скрипт установки отфильтровывает мои файлы.svn.
Вы должны изучить правильную систему развертывания, такую как Capistrano. Это означает, что ваши рабочие серверы не нуждаются в Subversion, и вы можете развертывать на нескольких серверах и добавлять собственную логику в развертывания. Это также облегчает откат развертываний.