Используя IIS 7, откройте диспетчер IIS, выберите узел сервера, дважды щелкните функцию сопоставления обработчиков . Щелкните по действию Add Managed Handler и настройте обработчик следующим образом:
- Путь запроса: * .svn / * (групповое сопоставление для всех файлов во всех папках .svn)
- Тип: System.Web.HttpForbiddenHandler
- Имя: Subversion-метаданные (вы можете выбрать другое имя, если хотите)
Теперь любой запрос файлов в папках метаданных Subversion с именем .svn на всех сайтах должен возвращать следующее:
Ошибка сервера в приложении '/'
Этот тип страницы не обслуживается.
Описание. Запрошенный вами тип страницы не обслуживается, поскольку он был явно запрещен. Пожалуйста, просмотрите URL-адрес ниже и убедитесь, что он написан правильно.
Запрашиваемый URL: /.svn/text-base/Default.aspx.svn-base
При желании вы можете выбрать другой тип обработчика, например, обработчик FileNotFound, который будет возвращать код состояния 404.
Для IIS 6 (с установленным и настроенным ASP.NET 2):
Перейдите в Домашний каталог> Конфигурация> Сопоставление и сопоставьте .svn-base
расширение с %SystemRoot%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
. Затем в machine.config (который вы можете найти %SystemRoot%\Microsoft.NET\Framework\v2.0.50727\CONFIG
) вы можете добавить тот же обработчик, что и выше для расширения, добавить следующий XML-элемент как дочерний элемент <httpHandlers>
-element:
<add verb="*" path="*.svn-base" type="System.Web.HttpForbiddenHandler"/>
Это только запретит посетителям запрашивать файлы с исходным кодом, они могут по-прежнему запрашивать другие файлы из папок .svn. Сопоставьте больше расширений с aspnet_isapi.dll или создайте сопоставление с подстановочными знаками (это повлияет на производительность), и вы можете заблокировать запрос большего количества файлов.