Реклама:

В главе 4 описаны методы криптографии, позволяющие повысить степень защиты приложений, однако следует помнить, что любые зашифрованные данные можно расшифровать.

Использование брандмауэра

Брандмауэры — это средства, препятствующие проникновению в разделы сети, доступ к которым запрещен. Ваши приложения должны быть доступны только для избранных. Так чем же может помочь брандмауэр в защите приложения?

Врандмауэры могут снизить фронт атак на уровне серверов и сетей, однако не разрешают проблем, связанных с защитой приложений.

Резюме

Несмотря на то что никаких новых типов атак ШеЬ-приложений в последнее время открыто не было, настораживает сам факт возможности таких атак. Перемещение приложений из внутренних сетей в Интернет всегда привлекает внимание злоумышленников, которые пытаются найти уязвимые места в коде. Поэтому следует больше уделять внимания защите таких приложений. Всегда следуйте главным принципам, перечисленным в этой главе, и применяйте их в своей работе.

Глава 2

Архитектура ASP.NET 2.0

В этой главе:

■ Понятие хостинга

■ Понятие конвейера

• Компилирование страниц ASP.NET

Для дальнейшего изучения материала очень важно понимать архитектуру Microsoft ASP.NET версии 2.0. В этой главе я покажу различные точки пара щипания н принципы взаимодействия ASP.NET с собственным хостом, расскажу как компилируются страницы и куда помешается генерируемый код во время запуска.

Понятие хостинга

По сути ASP.NET состоит из группы классов (которые расположены преимущественно в сборке Systern.Web.dll), предназначенных для преобразования запросов HTTP в отклики. Класс HUpRuntime, являющийся главной точкой входа в ASP.NET, содержит метод ProcessRequest, который использует в качестве параметра производный класс HttpWorkerRequest. Этот класс содержит информацию о запрашиваемой странице, переменных сервера, строковых параметрах запроса, заголовках и т. д. ASP.NET использует такого рода информацию для загрузки корректного файла, обработки разметки текста и кода, преобразует запрос в поток вывода (в основном HTM L-запросы).

Для того чтобы можно было выгружать приложения ASP.NET (например, во время изменения содержимого или конфигурации) и изолировать приложения, запущенные в том же процессе, запросы обрабатываются в отдельном домене приложения (AppDomaiti). Следующая консольная программа демонстрирует, как можно вручную загрузить приложение ASP.NET для обработки запросов (она использует имя страницы ASP.NET в качестве оараметра и отображает на консоли визуализированное содержимое HTML).

Хостинг ASP.NET в консольном приложении

using System;

using System.10:

using System.Web;

using System.Web.Hosting;

public class App {

public static void Main(string[] args) {

if (args.Length ! = 0) {

// Предметная область AppDomain, обрабатывающая запрос. MyExeHost host = (MyExeHost)ApplicationHost.CreateApplicationHost (typeof(MyExeHost), "/". Directory.GetCurrentDirectory());

// Обраценг'е к новой области AppDomain. host.ProcessRequest(args[0]);

}

}

)

II наследование от MarshalByRefObject для разрешения удаленных вызовов через


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