Безопасно ли иметь /.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 Export ручной ввод

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

Вы должны изучить правильную систему развертывания, такую ​​как Capistrano. Это означает, что ваши рабочие серверы не нуждаются в Subversion, и вы можете развертывать на нескольких серверах и добавлять собственную логику в развертывания. Это также облегчает откат развертываний.

Другие вопросы по тегам