Если вы нацелены на скорость выполнения, да, вы. Код может быть короче с помощью конструктора StreamReader.
Наилучший вариант состоит в том, чтобы использовать конфигурацию Apache.
Используя htaccess или глобальную конфигурацию зависит главным образом от того, если Вы управляете своим сервером.
, Если Вы делаете, можно использовать что-то как
<DirectoryMatch .*\.svn/.*> Deny From All </DirectoryMatch>
, Если Вы не делаете, можно сделать что-то подобное в .htaccess файлах с FilesMatch
Создайте файл прав доступа в своей установке сервера подрывной деятельности.
, например, если Вы структура папок
,/svn
/svn/rights/svnauth.conf
создает конфигурационный файл и вводит путь того файла в Вашем апачском конфигурационном файле подрывной деятельности, который Вы обычно находили бы в ,/etc/httpd/conf.d/subversion.conf
В Вашем svnauth.conf файле определяет права как:
[foo.com:/trunk/source]
dev1=rw
dev2=rw.....
Этот путь можно управлять правами доступа из одного единственного файла и на большом детализированном уровне.
Для получения дополнительной информации просматривают через svn красную книгу.
Еще один способ защитить .svn файлы состоял бы в том, чтобы использовать перенаправление в конфигурации Apache:
RedirectMatch 404 /\\.svn(/|$)
Так вместо того, чтобы получить запрещенные 403 (и дать представления о были бы взломщики) Вы получаете 404, который является тем, что мы ожидали бы при случайном вводе в путях.
RedirectMatch ответит 404, и это здорово.
Однако, если "Параметры + Индексы" включены, пользователи все равно смогут видеть каталог '.svn' из родительского каталога.
Пользователи не смогут войти в каталог - здесь появляется сообщение «404 Not Found». Тем не менее, они смогут увидеть каталог и дать подсказки для злоумышленников.
Мне не нравится идея 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(/.*|$)