Make.git katalog stron www
Mam stronę internetową, którą używam github (closed source) do śledzenia zmian i aktualizacji strony. Jedynym problemem jest to, że wydaje się, że .katalog git jest dostępny przez Internet. Jak mogę to zatrzymać i nadal móc używać Gita?
Powinienem użyć .htaccess? Czy powinienem zmienić uprawnienia .git?
7 answers
Utwórz plik .htaccess
w folderze .git
i umieść w nim:
Order allow,deny
Deny from all
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-26 17:27:17
Umieść to w pliku .htaccess
w root twojego serwera www:
RedirectMatch 404 /\.git
To rozwiązanie jest wytrzymałe i bezpieczne : it
- Działa dla wszystkich
.git
katalogów w Twojej witrynie, nawet jeśli jest ich więcej niż jeden, - ukrywa również inne pliki Git, takie jak
.gitignore
i.gitmodules
- Działa nawet dla nowo dodanych
.git
katalogów i - nie zdradza nawet faktu istnienia katalogów.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-10 09:37:21
ZARÓWNO .htaccess
jak i uprawnienia do folderu .git/
będą działać. Polecam ten pierwszy:
<Directory .git>
order allow,deny
deny from all
</Directory>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-31 21:13:28
Mod_rewrite da Ci pożądany efekt:
RewriteEngine on
RewriteRule .*\.git/.* - [F]
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-08 11:42:02
Nie chciaĹ 'em siÄ ™ grzebaÄ ‡ w katalogu .git
i nie byĹ' em w stanie uzyskaÄ ‡ rozwiÄ ... zania Bennetta do dziaĹ 'ania na Apache 2.2, ale dodanie nastÄ ™ pujÄ ... cego elementu do mojej konfiguracji <VirtualHost>
dziaĹ' aĹ ' o:
RewriteRule ^.*\.git.* - [R=404]
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:02:45
Nie podoba mi się kontrolowanie dostępu do mojego .git foldery pojedynczo i wybrać, aby zrobić to poprzez Apache config zamiast.htaccess, aby zapobiec ich nadpisaniu lub zapomnieniu na nowej instalacji itp.
Oto kilka szczegółowych instrukcji, mam nadzieję, że pomogą. Używam Ubuntu 16.10.
- najpierw sprawdź, co się stanie, jeśli przejdziesz do.folder git w przeglądarce. W moim przypadku przedstawiono mi listę katalogów. Jeśli widzisz to, czego nie powinieneś widzieć (tj. nie dostaniesz 404), wykonaj następujące czynności. W związku z tym, że nie jest to możliwe, nie jest to możliwe.]} W naszej ofercie znajdziecie Państwo również:conf
- Dodaj gdzieś w pliku konfiguracyjnym: RedirectMatch 404/.git W tym celu prosimy o zapoznanie się z naszą polityką prywatności.]}
- powinien teraz dostać 404, jeśli ponownie przejdziesz do folderu Próbowałem tego .gitignore i również dostał 404
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-23 06:54:59
Bardziej solidną i prostą opcją byłoby wyłączenie uprawnień do odczytu i wykonywania katalogu .git
.
Ponieważ głównie Apache (httpd) działa pod specjalnym kontem użytkownika, na przykład, działa jako użytkownik apache
na CentOS, podczas gdy katalog .git
musi być utworzony pod rzeczywistym kontem użytkownika, więc możemy po prostu zablokować dostęp poprzez zmianę uprawnień. Co więcej, takie podejście nie wprowadza żadnego nowego pliku, ani nie wpływa na polecenia git.
Komenda może być:
chmod -R o-rx .git
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-09 08:25:01