Реклама:
Байер Доминик Microsoft ASP.NET. Обеспечение безопасности. Мастер-класс

Рис. 7-6. Клиент WMI

Удаленный доступ к событиям и классам

Чтобы включить удаленный доступ к событиям и классам, учетная запись пользователя должна входить к группу Distributed COM Users на Web-ссрвсрс. Кроме того, пользователю нужно предоставить доступ к пространству имен WML Для ЭТОГО перейдите и диалоговое окно с помощью команды Administrative Tools .Computer Managciiieiu\WMl Control\Properlies\Scrurity. Откройте корректное npot трансі но имен и выполните команду Security. Выберите учетную запись, для которой хотите предоставит ь доступ, и флажок Enable Account либо Remote Enable.

СОВЕТ Геми при подписке на события вы получаете ошибку RPC Sorver Unavailable, то, скорее всего, вам нужно заново отконфигурировать брандмауэр. Порт RPC (ТСР/135) на машинах провайдера и клиента должен быть доступен — в противном случае подписка не выполняется.

Атрибуты Trace и System.Diagnostic. Trace

В ASP.NET предусмотрено средство трассировки событий страницы и шкрорманми (рис. 7-7). Оно включает согласование но времени событий, текущею сеанса, состо-яния приложения, переменных сервера, заголовков HTTP и т. п. Вы может добавить это средство па страницу и па уровне приложения, что удобно для проведения тестировании. Чтобы включить трассировку па основе страницы, добавьте в директиву Страницы атрибут Trace-"true". При этом помните, что в результате трассировочная информации будет визуализироваться прямо в странице, что нежелательно. Более распространенный способ заключается во включении трассировки на основе приложения путем добавления элемента <trace> в файл wcb.config.

Включение трассировки

<trace

enabled="true" localOnly="tiue

pageOutput="false" traceKode="SortByTime" requestLimit«"10" mostRecent="true" />

Байер Доминик Microsoft ASP.NET. Обеспечение безопасности. Мастер-класс

Рис. 7-7. Трассировка запросов ASP.NET

Этот фрагмент кода включает специальный обработчик, который записывает трассировочную информацию в URL /trace.axd. Имея доступ к этому URL в браузере, вы получите историю последних страниц (количество страниц задается значением атрибута reqiestLimit). Атрибут localOnly указывает, как можно вызвать этот URL: через сеть или только с локальной машины.

£4 ВНИМАНИЕ! Никогда не задавайте в производственных приложениях атрибуту localOnly значение false. Проверка страницы trace.axd входит в функции любого сканнера слабых мест в защите. Эта страница содержит внутреннюю уязвимую информацию сервера, которую ни в коем случае нельзя открывать для злоумышленников.

Для трассировки вы можете написать собственные сообщения с помощью методов 7гасе.Write и Trace.Wam. (Предупреждения в странице трассировки окрашиваются а красный цвет.) Этот способ удобно использовать, например, когда вам нужна такая информация, как время получения доступа к базе данных.

protected void Page_Load(orjject sender. EventArgs e) Trace.Write("LeastPrivilege", "06 Access start");

// Работа с базой данных

Trace.Write("LeastPrivilege". "OB Access end"):

}

До появления ASP.NET 2.0 не существовало способа программного доступа к данным трассировки, в частности способа для их записи в файл или базу данных. Теперь вы можете подписаться на событие TraceFinished в странице, файле global .asax либо в HttpModule для инспектирования или регистрации записей трассировки.


⇐ Предыдущая страница| |Следующая страница ⇒