В начале года получил код dreamspark H4RQ9-QJ6FD-YJWJT-P6FVF-HGXQZ. При его вводе- сообщение что он просрочен.
|
Настроечные параметры System.Web
При выполнении запроса к приложению ASP.NET этот запрос обрабатывается как обычно. Непосредственно перед отправкой ответа запускается данный метод, добавляющий в конец запроса текст копирайта. Перед выполнением модуля его нужно зарегистрировать в вашем настроечном файле.
<httpModules> <add name="CopyrightModule" type="Microsoft.CopyrightModule" /> </httpModules>
Теперь при обработке HTTP будет выполняться модуль копирайта, и в конец потока ответа будет добавлен текст об авторских правах.
Ключевые моменты <httpModules>
Раздел <httpModules> и собственные модули HTTP позволяют работать напрямую с потоком обработки HTTP.
- Раздел <httpModules> – это раздел, основанный на коллекции, в которую можно добавлять модули, удалять их из нее и полностью очищать эту коллекцию.
- Модули HTTP – это классы .NET, реализующие интерфейс IHttpModule. Данный интерфейс требует, чтобы класс включал методы Init и Dispose.
- Приложение HTTP предоставляет несколько событий, которые можно перехватывать в своих модулях. Каждое такое событие происходит на различных стадиях обработки HTTP и позволяет изменять на этих стадиях объекты запроса и ответа.
Работа с разделом <httpRuntime>
Раздел <httpRuntime> включает параметры, относящихся к среде выполнения HTTP ASP.NET. Параметры раздела включают установки максимального количества разрешенных запросов, размера запросов и времени хранения запросов. Ниже приведен синтаксис раздела <httpRuntime>.
<httpRuntime appRequestQueueLimit="number of requests" executionTimeout="seconds" maxRequestLength="Kbytes" minFreeLocalRequestFreeThreads="number of threads" minFreeThreads="number of threads" useFullyQualifiedRedirectUrl= "true | false" versionHeader="version string" />
Таблица 4.13 содержит перечень свойств раздела <httpRuntime>.
Ниже показан пример раздела <httpRuntime>.
<httpRuntime appRequestQueueLimit="100" executionTimeout="90" maxRequestLength="4096" minFreeLocalRequestFreeThreads="8" minFreeThreads="8" useFullyQualifiedRedirectUrl="false" versionHeader="1.1.4128" />
Одним из наиболее часто модифицируемых параметров <httpRuntime> является свойство maxRequestLength. Его обычно изменяют так, чтобы разрешить загрузку более крупных файлов. Однако помните, что каждый раз, когда вы увеличиваете это число, вы увеличиваете восприимчивость вашего сервера к атакам на отказ в обслуживании.
Ключевые моменты <httpRuntime>
Раздел <httpRuntime> позволяет настраивать несколько параметров, связанных со средой выполнения HTTP ASP.NET.
- Свойство maxRequestLength управляет максимально возможным размером запроса в килобайтах, а также максимально допустимым размером закачиваемого файла, защищая сервер от атак на отказ в обслуживании.
- Свойство appRequestQueueLimit устанавливает количество запросов в очереди, перед тем как пользователи начнут получать ошибку 503 Server Too Busy.
Работа с разделом <identity>
Раздел настроек <identity> позволяет настраивать параметры заимствования прав для вашего приложения ASP.NET. Заимствование прав – это способность приложения действовать от имени пользователя при доступе к другим ресурсам. После аутентификации пользователя в IIS его опознавательный признак передается в ASP.NET, где он может использоваться для персонализации пользователя в других ресурсах. Если пользователь не аутентифицирован в IIS, в приложение ASP.NET передается признак отсутствия аутентификации.
![](00_05.jpg)
Ниже показан синтаксис раздела <identity>.
<identity impersonate="true | false" username="domain\username" password="password" />
Свойства раздела < identity > приведены в таблице 4.14.
Имеется два режима заимствования прав, которые можно использовать в приложении. Первый режим использует имя пользователя и пароль, переданные из IIS, а второй режим – имя пользователя и пароль, указанные в настроечном файле. Ниже приведен пример реализации первого режима заимствования прав.
<identity impersonate="true" />
Такой метод заимствования прав использует любые имя пользователя и пароль, переданные из IIS в среду выполнения ASP.NET. Вот пример реализации второго типа заимствования прав.
<identity impersonate="true" userName="Microsoft\James" password="frequency" />
- Когда приложение пытается получить доступ к ресурсу, который требует аутентификации, для аутентификации в этом ресурсе используются указанные здесь имя пользователя и пароль. Хранение имени пользователя и пароля в формате простого текста, как в данном случае, ведет к проблемам безопасности. Файл .config защищен от запросов со стороны пользователей и доступ к нему через IIS или любой другой метод, основанный на веб, запрещен. Однако доступ к этим файлам возможен, если у пользователя есть доступ к серверу или заимствованные права на доступ к этому файлу. Имеется возможность хранить имя пользователя и пароль в зашифрованном формате в реестре. Это делается следующим образом. В настроечном файле установите значения имени пользователя и пароля в:
<identity impersonate="true" userName= "registry:HKLM\Software\AspNetLogin\ASPNET_SETREG,userName" password= "registry:HKLM\Software\AspNetLogin\ASPNET_SETREG,password" />
Теперь настроечный файл будет считывать значения имени пользователя и пароля из реестра сервера.
- Чтобы установить значения в реестре, используйте консольное приложение aspnet_setreg.exe. Это небольшое приложение, которое можно скачать с Microsoft Download Center или напрямую по ссылке http://download.microsoft.com/download/asp.net/Utility/1.0/WIN98MeXP/EN-US/Aspnet_setreg.exe
- Распакуйте приложение, откройте командную строку и перейдите в директорию, в которую вы распаковали файлы.
- Введите в командной строке следующее:
aspnet_setreg –k:Software\AspNetLogin\Identity – u:UserName –p:Password
Замените AspNetLogin\Identity на тот ключ, который вы хотите использовать. Этот ключ будет создан автоматически. Замените UserName и Password на корректные значения имени пользователя и пароля для вашего приложения.
- Найдите ключ в реестре и проверьте, что процесс ASP.NET имеет доступ к этому значению, сделав щелчок правой кнопкой мыши на ключе и выбрав Permissions (Разрешения). Если имя пользователя ASP.NET не указано, добавьте его в список. Прежде чем права доступа вступят в силу, вы должны будете перезапустить процесс IIS.
После этого эти элементы в реестре будут зашифрованы и готовы для доступа из настроечных файлов.
Ключевые моменты <identity>
Раздел <identity> предоставляет параметры, которые включают и отключают заимствование прав для приложений ASP.NET.
- Первый режим заимствования прав читает имя пользователя и пароль из опознавательного признака, переданного из IIS, и использует его для доступа к ресурсам.
- Второй режим заимствования прав использует имя пользователя и пароль, указанные в настроечном файле.
- aspnet_setreg.exe позволяет шифровать и сохранять имя пользователя и пароль в реестре, а затем читать эти значения из настроечного файла.
Работа с разделом <machineKey>
В ASP.NET имеется несколько объектов и ресурсов, которые должны быть зашифрованы с целью обеспечения защиты. Раздел <machineKey> содержит ключи проверки и расшифровки, используемые для шифрования некоторых объектов ASP.NET, включая данные cookie форм аутентификации, данные viewstate и информацию о состоянии сессии, расположенной вне основного процесса. Ниже приведен синтаксис раздела <machineKey>.
<machineKey validationKey="validation key" decryptionKey="decryption key" validation="validation setting" />
Свойства раздела <machineKey> приведены в табл. 4.15.
Ниже показан пример раздела <machineKey>.
<machineKey validationKey="AutoGenerate, IsolateApps" decryptionKey="AutoGenerate, IsolateApps" validation="SHA1 " />
В этом примере оба ключа являются автогенерируемыми, и используется опция IsolateApps. Это набор параметров по умолчанию для файла machine.config.
Ключевые моменты <machineKey>
Раздел <machineKey> очень важен для внутренней работы ASP.NET, но он не относится к числу тех разделов, которые ежедневно используются при программировании. Ниже приведены ключевые моменты, относящиеся к этому разделу.