Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Теги HTML



Как видно из листинга 1, каждый тег состоит из имени тега (например, HTML), заключенного в угловые скобки. Обратите внимание на последнюю строку листинга - там расположен тег </HTML>, очень похожий на тег в третьей строке документа. В нем содержится косая черта, означающая, что это - конечный тег. Соответственно, тег <HTML> называется начальным тегом. Такие парные теги называются контейнерными, а все, что находится между начальными и конечными тегами называется содержимым контейнера.

Теги, не имеющие парного конечного тега, называются пустыми, или одиночными; соответствующие им элементы называются автономными. В листинге 1 имеется один такой тег <Р>, называемый тегом абзаца, поскольку текст, расположенный вслед за тегом, будет отображаться в браузере в новом абзаце.

Простейший вариант тега - имя, заключенное в угловые скобки, например <HEAD> или <Р>. Для более сложных тегов характерно наличие атрибутов, которые могут иметь конкретные значения, определенные автором для видоизменения функции тега. Например, в теге <HTML LANG="ru" DIR="LTR"> использован атрибут LANG, который задает язык документа HTML (в данном случае "ru" - русский), и атрибут DIR, который задает направление чтения текста, в данном случае "LTR" - слева направо (оказывается, можно и наоборот).

Общая схема построения контейнера HTML имеет следующий вид: <Имя_тега Список_атрибутов> Содержимое контейнера </Имя_тега>

Контейнерные теги вместе с их содержимым, а также одиночные теги обобщенно называются элементами языка HTML. В языке HTML современной версии 4 (спецификация языка представлена на сайте http://www.w3.org) имеется множество элементов, но здесь мы остановимся лишь на тех, которые интересны с точки зрения обсуждаемой темы безопасности.

Тег <OBJECT>

Начиная с первой версии, язык HTML позволял встраивать в документы HTML изображения, аплеты, видеоклипы и другие ресурсы Web. В HTML версии 4 специально для этой цели был создан новый тег <OBJECT>, который претендует на роль универсального средства внедрения в документы HTML произвольных информационных ресурсов и идет на смену другим тегам - <APPLET>, <IMG>, <EMBED> и некоторых других.

Тег <OBJECT> содержит множество атрибутов, часть которых перечислена ниже.

ID - уникальный идентификатор объекта.

CLASSID - используется для указания местоположения ресурса, реализующего функции объекта. Например, CLASSID может содержать адрес URL программы-обработчика данных, указанных другим атрибутом - DATA (см. ниже).

CODEBASE - определяет базовый адрес, относительно которого указываются адреса ресурсов в других атрибутах тега (например, CLASSID, DATA и ARCHIVE). Если атрибут CODEBASE отсутствует, значением по умолчанию является базовый адрес URL текущего документа.

CODETYPE - определяет тип данных, получаемых при загрузке ресурса, указанного атрибутом CLASSID. Его значениями могут быть, например, "text/html", "image/gif", "video/ropeg", "text/javascript", указывающие, соответственно, на документ HTML, рисунок формата GIF, видеофайл MPEG и сценарий JavaScript.

DATA - указывает местоположение данных объекта. Например, если объект используется для отображения рисунка, DATA содержит адрес файла с изображением. Его значением является относительный адрес URL, установленный относительно базового адреса, заданного атрибутом CODEBASE.

ТУРЕ - определяет тип содержимого для данных, задаваемых атрибутом DATA.

ARCHIVE - содержит разделенный пробелами список адресов URL архивов с ресурсами, требуемыми объекту, в том числе, задаваемые атрибутами CLASSID И DATA.

В большинстве клиентских браузеров имеются встроенные механизмы для воспроизведения основных типов данных, таких как текст, изображения в формате .GIF, шрифты, набор графических элементов. Для воспроизведения же некоторых других типов данных, не поддерживаемых браузерами по умолчанию, они обычно запускают внешние приложения. Тег <OBJECT> как раз и позволяет авторам документов HTML управлять способом воспроизведения данных - либо с помощью внешней программы, либо с помощью некоторой программы, указываемой автором документа HTML. В листинге 2 представлен код HTML с тегом <OBJECT>, примененным для воспроизведения аплета - проигрывателя Microsoft Media Player.

Листинг 2. Пример простого документа HTML

To, что отобразится в диалоге браузера IE 5 при загрузке кода из листинга 2, представлено на Рис. 2.

Рис. 2. Отображение аплета - проигрывателя Windows Media Player

В листинге 2 атрибут CLASSID определяет ресурс, воспроизводимый тегом <OBJECT>. Для этого используется так называемый уникальный идентификатор CLSID, который в системе Windows присваивается каждому аплету, созданному на основе средств программирования аплетов, предложенных и развиваемых фирмой Microsoft.

Идентификаторы CLSID используются в любой программе, построенной на основе технологии OLE (Object Linking and Embedding - Связывание и внедрение объектов). OLE - это общее название объектно-ориентированных технологий Microsoft, с помощью которых одни программы предоставляют свои сервисы другим программам. Вы используете технологию OLE каждый раз, когда, например, перетаскиваете текст из одного текстового документа в другой с помощью буфера обмена Windows. На основе технологии OLE можно, помимо всего прочего, создавать аплеты, которые в этом случае называются элементами ActiveX. Подробнее с технологией OLE можно познакомиться в одном из множества руководств.

Вы, наверное, уже поняли, для чего хакерам может понадобиться тег <OBJECT> - конечно же, для запуска на клиентском компьютере программы, которая обеспечит хакеру достижение своих целей. С помощью трюков, использующих некоторые недостатки системы защиты браузеров Web, это сделать вовсе не трудно, но перед описанием всех этих интересных возможностей опишем последний тег - <IFRAME>.

Тег <IFRAME>

Язык HTML позволяет воспроизводить документы HTML в нескольких областях окна браузера Web; эти области называются фреймами (от английского «frame» - кадр, окно). Фреймы могут представлять собой независимые окна, или же занимать области внутри одного главного окна, деля его на части. Благодаря этому свойству фреймов Web-дизайнеры могут оставлять некоторую информацию документа HTML постоянно видимой в одном фрейме, в то время как остальную информацию воспроизводить в дополнительных фреймах, снабженных средствами прокрутки содержимого.

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

Листинг З. Пример встроенного фрейма в документе HTML

Воспроизведение кода HTML из листинга З в окне браузера IE 5 представлено на Рис. З.

Рис. З. Пример документа HTML со встроенным фреймом

На первый взгляд тег <IFRAME>, так же как и отображаемый фрейм, вполне безобидены, однако, как ни странно, тег <IFRAME> служит основой для множества атак, опирающихся на уязвимости системы безопасности браузеров Интернета и почтовых клиентов. Опишем некоторые из них.





Дата публикования: 2014-11-04; Прочитано: 324 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...