Запретите доступа к .svn папкам на Apache

Если вы нацелены на скорость выполнения, да, вы. Код может быть короче с помощью конструктора StreamReader.

56
задан csexton 29 December 2008 в 16:12
поделиться

5 ответов

Наилучший вариант состоит в том, чтобы использовать конфигурацию Apache.

Используя htaccess или глобальную конфигурацию зависит главным образом от того, если Вы управляете своим сервером.

, Если Вы делаете, можно использовать что-то как

<DirectoryMatch .*\.svn/.*>
    Deny From All
</DirectoryMatch>

, Если Вы не делаете, можно сделать что-то подобное в .htaccess файлах с FilesMatch

62
ответ дан Vinko Vrsalovic 7 November 2019 в 16:26
поделиться

Создайте файл прав доступа в своей установке сервера подрывной деятельности.

, например, если Вы структура папок

,/svn

/svn/rights/svnauth.conf

создает конфигурационный файл и вводит путь того файла в Вашем апачском конфигурационном файле подрывной деятельности, который Вы обычно находили бы в ,/etc/httpd/conf.d/subversion.conf

В Вашем svnauth.conf файле определяет права как:

права доступа для Foo.com

[foo.com:/trunk/source]

dev1=rw

dev2=rw.....

Этот путь можно управлять правами доступа из одного единственного файла и на большом детализированном уровне.

Для получения дополнительной информации просматривают через svn красную книгу.

-7
ответ дан user49550 7 November 2019 в 16:26
поделиться

Еще один способ защитить .svn файлы состоял бы в том, чтобы использовать перенаправление в конфигурации Apache:

RedirectMatch 404 /\\.svn(/|$)

Так вместо того, чтобы получить запрещенные 403 (и дать представления о были бы взломщики) Вы получаете 404, который является тем, что мы ожидали бы при случайном вводе в путях.

43
ответ дан csexton 7 November 2019 в 16:26
поделиться

RedirectMatch ответит 404, и это здорово.

Однако, если "Параметры + Индексы" включены, пользователи все равно смогут видеть каталог '.svn' из родительского каталога.

Пользователи не смогут войти в каталог - здесь появляется сообщение «404 Not Found». Тем не менее, они смогут увидеть каталог и дать подсказки для злоумышленников.

1
ответ дан 26 November 2019 в 17:07
поделиться

Мне не нравится идея 404 начинать каждый файл с точки. Я бы использовал более избирательный подход, либо с cvs, которые я использую в проекте (svn в примере)

RedirectMatch 404 /\\.svn(/|$)

, либо с catch all cvs systems

RedirectMatch 404 /\\.(svn|git|hg|bzr|cvs)(/|$)

- следует устаревший ответ (см. Комментарии) -

Я пока не могу писать комментарии, так что ... Ответ csexton неверен, потому что пользователь не может получить доступ к папке .svn, но может получить доступ к любым файлам внутри нее! например вы можете получить доступ http://myserver.com/.svn/entries

Правильное правило:

RedirectMatch 404 /\\.svn(/.*|$)
30
ответ дан 26 November 2019 в 17:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: