Смекни!
smekni.com

Структура, принципы функционирования и технологии глобальной информационной сети (стр. 8 из 9)

Отметим, что, поскольку апплеты реализуют выполнение кода на компьютере клиента, они в определенной степени являются потенциально опасным содержимым. Именно поэтому все современные браузеры обладают доступными пользователю средствами ограничения возможностей выполнения апплетов.

2.3.10. Элементы управления ActiveX

Некоторые из современных браузеров (в частности, Microsoft Интернет Explorer) могут служить контейнерами для элементов управления ActiveX — специальных COM-серверов, выполняющихся в адресном пространстве браузера и также получаемых в составе Web-страницы.

С помощью элементов управления ActiveX, как и посредством Java-апплетов, можно реализовать любую функциональность, в том числе и неблагоприятную для компьютера пользователя, при этом, в отличие от Java-апплетов, при выполнении элементов управления ActiveX в общем случае нет никаких ограничений на доступ к файлам и иным ресурсам операционной системы и сети, а код, содержащийся в них, выполняется от имени загрузившего их пользователя. Как и Java-апплеты, элементы управления ActiveX могут считывать свои свойства с содержащей их страницы; кроме того, свойства элемента управления ActiveX можно менять динамически из кода на скриптовых языках, содержащихся в составе той же страницы; в том же коде можно обрабатывать события, возникающие в таких элементах управления.

Естественно, Microsoft Интернет Explorer обладает средствами ограничения возможностей выполнения элементов управления ActiveX, в том числе управления ими из кода на скриптовых языках. Однако для контроля безопасности их выполнения имеется еще одно средство, называемое электронной цифровой подписью. Цифровая подпись помещается внутрь элемента управления ActiveX, для чего требуется наличие соответствующего электронного сертификата. Электронная подпись, помимо сведений о фирме-производителе, содержит и другую полезную информацию. Так, например, если файл с элементом управления ActiveX после добавления электронной подписи был изменен, то об этом будет немедленно сообщено перед запуском такого элемента управления — при добавлении подписи к элементу управления ActiveX происходит вычисление контрольной суммы соответствующего файла. Отметим, однако, что в России в настоящее время нет авторизованных компаний, которые могли бы выдать электронный сертификат международного образца. Естественно, наличие электронного сертификата не гарантирует отсутствия потенциально опасного содержимого, но, по крайней мере, позволяет клиенту установить его источник.

Далее нам следует напомнить банальную истину, которая, как показывает практика, очевидна не для всех наших читателей. При работе с элементами управления ActiveX и Java-апплетами абсолютно бесполезно полагаться на антивирусное программное обеспечение (неважно, клиентское оно или серверное): признаков, характерных для вирусов (таких как способность внедряться внутрь исполняемых файлов и документов), подобные приложения, как правило, не содержат. Можно лишь запретить загрузку или выполнение соответствующего кода либо на уровне настроек браузера, либо на уровне корпоративных или персональных брандмауэров.

2.3.11. Приложения Macromedia Flash

Приложения Macromedia Flash являются сегодня наиболее популярным расширением функциональности Web-браузеров — с их помощью многие Web-дизайнеры придают своим сайтам интерактивность и оригинальность.

Модель безопасности приложений Flash основана на том, что Macromedia Flash Player, как и виртуальная Java-машина, выполняет приложения в ограниченном адресном пространстве, при этом выполняемые приложения не имеют доступа к файловой системе (кроме одного конкретного каталога, используемого Macromedia Flash Player для служебных целей) и другим ресурсам компьютера пользователя; исключение делается для микрофонов и видеокамер, однако пользователь должен дать разрешение на передачу данных, полученных с этих устройств. Доступ к сетевым ресурсам ограничивается доменом, с которого было получено приложение. Отметим, что приложения Flash также могут управляться с помощью кода JavaScript, присутствующего на той же странице. Сам Macromedia Flash Player для Microsoft Интернет Explorer является элементом управления ActiveX и использует возможности элементов управления ActiveX для доступа к свойствам приложений Flash из скриптовых языков.

Отметим, что помимо вышеперечисленных наиболее популярных средств расширения функциональности браузеров имеется и ряд других средств, реализованных обычно в виде так называемых модулей расширения (plug-in). Поскольку модули расширения также представляют собой исполняемый код, современные браузеры обладают средствами ограничения возможностей, связанных с их загрузкой и выполнением.

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

2.4. Технологии создания серверных частей Web-приложений

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

Функционирование в непротиворечивой и управляемой среде - еще одно преимущество выполнения сценариев на сервере. Написанный код выполняется только на одной версии единственного сервера, а не на множестве версий множества браузеров.

Для использования сценариев на стороне сервера имеется три основных препятствия.

· Запуск скриптов на сервере зачастую требует получения специальных прав от Web-мастера или системного администратора.

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

· Для тестирования сценариев для сервера требуется иметь собственный WWW-сервер, предпочтительно того же типа, что и промышленный вариант.

По этой причине большинство разработчиков предпочитают программирование браузера.

2.4.1. Активные серверные страницы - ASP

InternetInformationServer (IIS), WWW-сервер фирмы Microsoft, поддерживает версию VBScript для сервера, которая называется ActiveServerPages (ASP). Она позволяет совмещать блоки кода, написанного на VBScript, и HTML. Каждый блок VBScript-кода выполняется на сервере, не передается пользователю и заменяется сгенерированным на сервере HTML-кодом.

ASP поддерживает встроенные объекты для входящих запросов, исходящих ответов, пользовательского сеанса, приложения и собственно сервера.

· Объект запрос хранит информацию о браузере клиента, переданной строке URL, полях форм и т. д.

· Объект ответ получает исходный HTML-код, коды статуса и некоторые команды. С помощью кодов статуса, например, можно заставить пользователя ввести имя пользователя и пароль. Команды могут отослать пользователя к другому URL.

· Объект сервер содержит информацию о сервере: его имя, версию программного обеспечения, состав программного обеспечения и так далее.

· Объект сеанс сохраняет информацию о каждом пользователе для дальнейшего взаимодействия. Пользователь идентифицируются по блоку данных, которые сервер посылает браузеру посетителя и ожидает такой же блок при следующем запросе. (Такой маленькитй блок идентификационной информации называется cookie).

· Объект приложение хранит информацию, общую для всех пользователей данного приложения. (Приложение - это все ASP-страницы вданном дереве каталогов).

Информацию по ASP вы можете найти в разделе «описание сценариев» на сайте

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnanchor/html/anch_iis.asp

Новейшей версией технологии ActiveServerPages является ASP .NET, ключевая в архитектуре Microsoft .NETFramework. Основное отличие этой технологии от ASP с точки зрения архитектуры приложений заключается в том, что код, присутствующий на Web-странице, не интерпретируется, а компилируется и кэшируется, что, естественно, способствует повышению производительности приложений.

С помощью ASP.NET можно создавать Web-приложения и Web-сервисы, которые не только позволяют реализовать динамическую генерацию HTML-страниц, но и интегрируются с серверными компонентами и могут использоваться для решения широкого круга бизнес-задач, возникающих перед разработчиками современных Web-приложений.

В общем случае клиентом Web-сервера может быть не только персональный компьютер, оснащенный обычными Web-клиентами (например, Web-браузером), но и мобильные устройства, отличающиеся ограниченным размером экрана, малым объемом памяти, а нередко и невозможностью отображения графики. Для этих устройств существуют свои протоколы передачи данных (Wireless Access Protocol, WAP) и соответствующие языки разметки (WML, Wireless MarkupLanguage, СHTML, Compact HTML и т.п.). При этом необходимо передавать данные на мобильное устройство в соответствующем формате, для чего нередко создаются специальные сайты (например, поддерживающие WAP и WML). Более удобным представляется создание приложений, которые способны генерировать тот или иной код в зависимости от типа клиента. Именно такой подход и реализован в Microsoft ASP .NET.