Pull to refresh

Comments 10

А может просто не выносить исходники и директорию .git на боевые сервера? Средства для деплоя сейчас достаточно развиты, чтобы не было такого.

Лично встречал проекты, в которых деплой происходит с помощью git. В одном из них корень репозитория = корнень сайта. Теперь там используется deployer
Я видел svn репозиторий в котором был закоммичен git и пару фильмов.
Полезной информации статья не несет.
Я сканил alexa top 1m. ~10% сайтов не закрыли .git/
Что бы выкачать исходники (хотя бы частично) не обязательно делать git clone.
Выкачиваем /.git/index, делаем git ls-files. Выбираем нужный файл (например config.php), git checkout config.php.
В результате получаем хэш вида 06fe09951d8b859538bd4a5c4b3d207a99dc254c, где 06 — то каталог.
wget site.com/.git/objects/06/fe09951d8b859538bd4a5c4b3d207a99dc254c
Повторяем git checkout config.php и получаем исходники файла config.php
Мне было интересно сделать именно git clone, потому что это казалось очень просто. Понятно, что можно получить исходники или их часть без применения git, но это уже другая история.
Набор подобных скриптов для разных систем контроля версий https://github.com/kost/dvcs-ripper
Как раз им выкачивал. Написал обертку, которая по списку доменов ищет .git .svn .hg и если нашел выкачивать. Но исходников оказалось слишком много:(
Году в 2010 на хабре была волна скачки /.git /.svn папок, даже у яндекса что то скачали. С тех пор, видимо, за этим следят.
location ~ /\. {
     return 444;
}


Очень полезно иметь в конфиге nginx'а. Махом решает все подобные «уязвимости».

Как уже писали — достаточно просто нормально выкладывать код на боевой.
Для этого svn export и git archive есть, если уж деплоер совсем лень настраивать.

Sign up to leave a comment.

Articles