Делать.веб-каталог git недоступен
У меня есть веб-сайт, который я использую github (закрытый источник) для отслеживания изменений и обновления сайта. Единственная проблема в том, что она появляется .каталог git доступен через интернет. Как я могу остановить это и по-прежнему использовать git?
должен ли я использовать .реврайт? Должен ли я изменить разрешения .ГИТ?
7 ответов
положите это в на root веб-сервер:
RedirectMatch 404 /\.git
данное решение надежная и безопасное: это
- для всех
.git
каталоги на вашем сайте, даже если их несколько, - также скрывает другие файлы Git, такие как
.gitignore
и.gitmodules
- работает даже для недавно добавленной
.git
каталоги и - даже не выдает тот факт, что каталоги существуют.
и .htaccess
и разрешения будет работать. Я рекомендую первое:
<Directory .git>
order allow,deny
deny from all
</Directory>
Я не хотел возиться в для работы на Apache 2.2, но добавление следующего к моему <VirtualHost>
настройки работал:
RewriteRule ^.*\.git.* - [R=404]
Мне неудобно контролировать доступ к моему .git папки по отдельности и выбрать, чтобы сделать это через Apache config вместо .htaccess, чтобы предотвратить их перезапись или забыть о новой установке и т. д.
вот некоторые подробные инструкции, надеюсь, они помогут. Я использую Ubuntu 16.10.
- сначала проверьте, что произойдет, если вы перейдете к .папка git в браузере. В моем случае мне был представлен список каталогов. Если вы видите то, что не должны видеть (т. е. вы не получаете 404), сделайте следующее.
- используйте apache2ctl-V, чтобы получить HTTPD_ROOT и SERVER_CONFIG_FILE
- используйте это для редактирования конфигурации apache, в моем случае $ sudo nano/etc/apache2 / apache2.conf
- добавьте в конфигурационный файл следующее: RedirectMatch 404 /.git
- перезапустить apache: $ sudo service apache2 restart
- теперь вы должны получить 404, если вы снова перейдете в папку
- Я пробовал это с.gitignore, а также получил 404