2004 г.

Достоинства и проблемы HTML Application

Вячеслав Белов,

HTА (HTML Application) - простая технология, позволяющая создавать полезные приложения даже без знания серьезных языков программирования. Вот только как быть с безопасностью?

В основе разработанной Microsoft технологии исполнения HTML-приложений вне веб-браузера, получившей название HTA (HTML Application), заложена благородная идея: помочь пользователям, не обремененным познаниями в области программирования на C+, Visual Basic, Delphi и других "тяжелых" языках, создавать приложения, основанные на более известных языках сценариев VBScript и JavaScript, а также в стандартСтандарт (от англ.standard— норма, образец) в широком смысле слова— образец, эталон, модель, принимаемые за исходные для сопоставления с ними др. подобных объектов.ном HTML-коде. Понятно, что, запатентовав подобную технологию, корпорация попытается обеспечить ее поддержку другими операционными системами. И все бы ничего, если бы не формат файлов, с помощью которого планируется продвигать эту технологию.

Вообще-то, сам по себе формат HTA достаточно удобен. К примеру, именно на его базе построена справочная системаСистема (от др.-греч. — «сочетание»)— множество взаимосвязанных элементов, обособленное от среды и взаимодействующее с ней, как целое. Windows. Благодаря ему же обычные HTML-страницы запускаются без браузера и полностью отображаются в окне HTA-файла - со всеми ссылками, графикой, эффектами и скриптами. Создавать и редактировать подобные файлы гораздо проще и быстрее, чем, например, программу на С или Delphi. УдобствоЭргономичность— в изначальном смысле это эффективность инструмента производства или системы в эргономике. Под эффективностью при этом понимается наибольшая производительность при наименьшей вероятности ошибки. Ныне термин употребляется в более широком смысле, обозначая общую степень удобства предмета (не обязательно средства производства), экономию времени и энергии при использовании предмета. Например: «эргономичный токарный станок», «эргономичный электромобиль» или даже «эргономичный стул». работы с HTA еще и в широкой доступности редакторов - для этого формата могут использоваться как обычные текстовые редакторы вроде Notepad, так и специализированные HTML-редакторы (наподобие FrontPage или MacromediaMacromedia Inc. — один из крупнейших производителей программ, так или иначе связанных с WEB. Компания была основана в 1992году в Сан-Франциско, Калифорния из Authorware и MacroMind-Paracomp. Dreamweaver).

Создание HTA-документов сводится к установке специальных атрибутов в разделе <head>…</head> обычной HTML-страницы, после чего остается только сохранить ее с расширением. hta. Вот пример листинга простого HTA-файла:

<html>
<head> <HTA: APPLICATION id="HTA"
applicationName="TEST HTA"
border="thin"
borderStyle="normal"
caption="yes"
icon="С:/temp/favicon. ico"
maximizeButton="yes"
minimizeButton="yes"
showInTaskbar="no"
windowState="normal"
innerBorder="yes"
navigable="yes"
scroll="auto"
scrollFlat="yes"
singleInstance="yes"
sysMenu="no"
contextMenu="yes"
selection="yes" 
version="1.0" /> </head> <body>Текст страницы</body> </html>

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

Благодаря тому, что стандарт HTA позволяет исполнять сценарии Java и VB, в этом формате можно создать много полезных приложений, от простого календаря и конвертора валют до ньюсридера и менеджера онлайн-доступа к блогам, сайтам и форумам. Поэтому, обладая даже небольшим опытом создания веб-страниц и написания простых Java-скриптов, пользователь может создавать HTA-файлы, которые ни по функционалФункционал— числовая функция, заданная на векторном пространстве. Функционал берёт в качестве аргумента элемент линейного пространства (вектор) и возвращает в качестве результата скаляр. Довольно часто в роли линейного пространства выступает то или иное пространство функций (непрерывные функции на отрезке, интегрируемые функции на плоскостит.д. Поэтому, неформально говоря, функционал— это функция от функций, переводящая функцию в число (действительное или комплексное). Преобразования функций— операторы— составляют отдельную тему.ьности, ни по дизайну не уступают небольшим программам, написанным на более серьезных языках.

Но какая бочка меда обходится без ложки дегтя? Это касается и HTA. К сожалению, HTA-файлы нельзя просматривать в браузере, а значит, все средства защиты веб-браузеров оказываются бесполезны для них. Именно этот факт чаще всего приводится в качестве аргумента против HTA. Ведь в обход защиты с помощью VBscript и Jscript вполне можно организовать запись данных в реестр в фоновом режиме, запускать сторонние программы и скриптыСкриптовый язык (англ.scripting language, в русской литературе принято название язык сценариев)— язык программирования, разработанный для записи «сценариев», последовательностей операций, которые пользователь может выполнять на компьютере. Простые скриптовые языки раньше часто называли языками пакетной обработки (англ.batch languages или job control languages). Сценарии обычно интерпретируются, а не компилируются (хотя всё чаще применяют компиляцию каждый раз перед запуском)., выполнять чтение и запись на диск. Поэтому хакеры достаточно хорошо освоили этот стандарт и с успехом применяют его для своих целей.

Ярким примером использования злоумышленниками HTA являются разнообразные черви, попадающие на наши компьютерыКомпьютер (англ.computer— «вычислитель»), электронная вычислительная машина (ЭВМ)— вычислительная машина, предназначенная для передачи, хранения и обработки информации. через почтовые программы. Причем некоторые из них приходят прямо в теле письма (HTML-страницы) в виде скрипта, который запускается при открытии сообщения. Используя известную дыру Scriptlet. Typelib в Internet Explorer, червь с помощью скрипта создает файлы, никак не сообщая об этом пользователю. Обычно создается сценарий VBscript в виде HTA-файла, который и содержит тело вируса. Название такого файла обычно имитирует имя какого-либо системного файла (например, fonts. hta или system. hta) и располагается в каталоге автозагрузки. Поэтому при очередном запуске Windows автоматически запускается и созданный HTA-файл. Когда код червя из HTA-файла получает управление, он запускает программу Outlook со скрытым окном и создает в ней письма, адресованные всем, чьи адреса хранятся в адресной книге Outlook. Червь создает письма в формате HTML и включает в них свой сценарий. Таким образом, червь распространяет сам себя. Кстати, для сценариев, не использующих HTML-код и основное HTA-окно, нет необходимости указывать атрибуты HTA-документа. В этом случае код записывается между тэгами <script> и </script>.

Похожий принцип используют и вирусыВирус (лат.virus— яд)— субклеточный инфекционный агент, который может воспроизводиться только внутри живых клеток организма. По природе вирусы являются автономными генетическими элементами, имеющими внеклеточную стадию в цикле развития. Вирусы представляют собой микроскопические частицы, состоящие из молекул нуклеиновых кислот— (ДНК или РНК, некоторые, например, мимивирусы, имеют оба типа молекул), заключённые в белковую оболочку, способные инфицировать живые организмы. Белковую оболочку, в которую упакован геном, называют капсидом. Наличие капсида отличает вирусы от вирусоподобных инфекционных нуклеиновых кислот— вироидов. Вирусы, за редким исключением, содержат только один тип геномной нуклеиновой кислоты. Классифицируют ДНК-содержащие вирусы и РНК-содержащие вирусы, на чем основана классификация вирусов по Балтимору. Ранее к вирусам также ошибочно относили прионы, однако впоследствии оказалось, что эти возбудители представляют собой особые инфекционные белки и не содержат нуклеиновых кислот., распространяемые вместе с программами. В этом случае вместе с программой на ваш диск может попасть и такой безобидный с виду файл, как readme. hta или help. hta. При первом же запуске этих файлов вместе с демонстрацией текста в фоновом режиме производится ряд записей в реестр. И, несмотря на все ваши последующие действия, ваш браузер будет содержать дополнительные панели, кнопки или неизменную стартовую страницу, до тех пор пока вы не обнаружите сам код вируса в hta-файле.

На этом фоне куда более безопасно выглядят различные шутки на основе HTA-файлов. Например, однажды при запуске своего компьютера я обнаружил необычное окно с сообщением: "Внимание! Ваш винчестер содержит битые кластеры и сейчас будет отформатирован". Меня насторожила надпись "VBScript" в заголовке окна. Заподозрив неладное, я обратился к папке автозагрузки в главном меню и обнаружил там файл win. hta с таким содержимым:

<script language=VBScriptVisual Basic Scripting Edition (обычно просто VBScript) — скриптовый язык программирования, интерпретируемый компонентом Windows Script Host. Он широко используется при создании скриптов в операционных системах семейства Microsoft Windows.>
Set Shl = CreateObject ("WScript. Shell")
MsgBox ("Внимание! Ваш винчестер содержит битые кластеры и сейчас будет отформатирован…")
window. close ()
</script>

Этот сценарий при каждой загрузке Windows создавал всплывающее окно с предупреждением о форматировании жесткого диска. Конечно, диск не форматировался, так как сценарий не содержал такой команды, но поволноваться заставлял.

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

Хотелось бы обратить внимание тех, кто продолжает относиться к HTA скептически, на то, что Microsoft рекомендует использовать этот формат для решения небольших текущих задач, но не для обмена между пользователями. Другими словами, если пользоваться только собственными HTA-файлами, не передавать их кому-либо и не копировать чужие, то о безопасности можно не беспокоится. Если же Microsoft захочет изменить статус HTA-файлов, для этого придется провести серьезную работу по обеспечению безопасности. Если это удастся сделать в ближайшее время, то вполне возможно, что новая технология быстро приобретет такую же популярность, как JScriptJScript— скриптовый язык программирования компании Майкрософт, являющийся реализацией стандарта ECMAScript. и VBscript.

И все-таки - безопасность
На сайте размещена " заплатка" для дыры Scriptlet. Typelib в Internet Explorer. Если же вы не планируете использовать HTA-файлы, но хотите защитить компьютер от случайных вирусов, использующих этот формат, лучше отключить поддержку этих файлов. Для этого дважды кликните по пиктограмме Мой компьютер на рабочем столе, откройте Панель управления, выберите в меню окна команду Сервис > Свойства папки, перейдите на вкладку Тип файлов, выберите тип HTA-HTML application и щелкните наM кнопке Удалить.

Атрибуты HTA-документов
Атрибут Описание
applicationName имя приложения, использующегося для идентификации при исполнении HTA-документа
border вид обрамления окна; среди возможных значений - thin, dialog, none, thick
borderStyle стиль обрамления окна; среди возможных значений - complex, normal, raised, static, sunken
caption указывает, нужно ли показывать заголовок окна (yes/no)
icon путь к пиктограмме, которая будет показана в заголовке; допустимые параметры пиктограммы - 32x32 пикселей, формат. ICO
maximizeButton указывает, будет ли активизирована кнопка "восстановить" в заголовке документа (yes/no)
minimizeButton указывает, будет ли активизирована кнопка "свернуть" в заголовке документа (yes/no)
showInTaskbar указывает, будет ли показан документ в панели инструментов Windows (yes/no)
windowState первоначальный размер окна; среди возможных значений - normal, minimize, и maximize
innerBorder указывает, будет ли окно иметь внутреннюю границу (yes/no)
navigable указывает, будут ли ссылки открываться в отдельных окнах или в одном (yes/no)
scroll указывает, будет ли окно иметь полосу прокрутки (yes/no)
scrollFlat указывает вид полосы прокрутки: 3D или нет (yes/no)
singleInstance определяет, возможно«Возможно» (фр.Peut-tre)— фильм режиссёра Седрика Клапиша 1999 года. ли одновременное открытие нескольких окон для HTA-документов (yes/no)
sysMenu указывает, будут ли показаны составляющие заголовка окна (yes/no)
contextMenu указывает на доступность контекстного меню, вызываемого правой кнопкой мыши (yes/no)
selection указывает, можно ли выделять текст в HTA-окне (yes/no)
version версия HTA

Мы рекомендуем еще посмотреть:

  Alcatel-Lucent IP Touch Extended Edition
  Версия для вывода на принтер

    Являясь частью линейки профессионального оборудования Alcatel-Lucent, многофункциональные IP-телефоны серии Alcatel-Lucent IP Touch обладают не только полной функциональностью технологии VoIP, но и могут быть использованы для передачи данных по сети IP.

    Обладающие эргономичным дизайном, терминалы IP Touch комплектуются черно-белыми (градации серого) и цветными дисплеями высокого разрешения.

       IP Touch 4018/4008 EE

  • Разрешение: 1 x 20
  • Пропорциональный шрифт
  • Однострочный дисплей
  • Размер: 78 X 51 mm
  • Один Gigabit Ethernet порт в 4008, два в 4018

       IP Touch 4028 EE

  • Разрешение: 64 x 128
  • Пропорциональный шрифт
  • Размер зерна: 0.70 x 0.38 mm
  • Размер: 78 X 51 mm
  • Черно-белый дисплей
  • 2x3 программируемых клавиш
  • Два порта Gigabit Ethernet

       IP Touch 4038 EE

  • Разрешение: 100 x 160
  • Пропорциональный шрифт
  • Размер зерна: 0.45 x 0.45 mm
  • Размер: 78 X 51 mm
  • 4 градации серого
  • 2x5 программируемых клавиш
  • Два порта Gigabit Ethernet

       IP Touch 4068 EE

  • Разрешение: 240 x 320 (QVGA)
  • Пропорциональный шрифт
  • Размер зерна: 0.2235 x 0.2235 mm
  • Размер: 73.52 X 55.64 mm
  • 4096 цветов
  • с подсветкой
  • 2x5 программируемых клавиш
  • Два порта Gigabit Ethernet

    Некоторые особенности терминалов IP Touch:

  • Полнодуплексная громкая связь со встроенным подавителем эха
  • Поддержка высококачественного аудио
  • Внушительный выбор полифонических мелодий
  • Возможность подключения наушников или внешних динамиков и пр.
  • Интегрированная алфавитная клавиатура с возможностью программирования каждой кнопки, 10 контекстно-зависимых клавиш;
  • Возможность беспроводного подключения по технологии Bluetooth®.
  • Терминалы AlcatelAlcatel SA (произносится Алкатель)— ранее французская компания, один из лидеров мирового рынка телекоммуникационного оборудования. Штаб-квартира находилась в Париже. IP Touch полностью оснащены для работы со внешними приложениями через XML-интерфейс, позволяющий строить нестандартные коммуникационные схемы, удовлетворяющие уникальным требованиям Вашего бизнеса.
  • Подержка Gigabit EthernetEthernt (эзернет, от лат.aether— эфир)— пакетная технология передачи данных преимущественно локальных компьютерных сетей.
WebCam: примерПример рассматривается в риторике чаще всего в контексте доказательств и аргументов. Для Квинтилиана пример является одним из дополняющих, наглядных доводов к высказыванию, либо упоминанием полезного, настоящего или якобы существующего образца убеждения того, что определено тобой одним. Правда, в отличие от доказательств, связь с предметом обсуждения должна быть установлена прежде автором или оратором. XML-приложения

    Терминалы IP Touch исполняются в двух цветовых гаммах:

Urban GreyIce Blue
   
Модель 4068 EE 4038 EE 4028 EE 4018 EE 4008 EE
    ДисплейДисплей— электронное устройство вывода информации, предназначенное для визуального отображения обрабатывающей системой информационных сообщений конечному пользователю (синонимом термина, но в более узком значении (как отображающая поверхность, не устройство) является «экран»). Графический Графический Графический Текстовый Текстовый
    Разрешение (пикселей) 240 x 320 (1/4 VGA) 100 x 160 64 x 128 20 символов 20 символов
    Размер 74 x 56 мм 78 x 51 мм 70 x 38 мм 75 x 12 мм 75 x 12 мм
    Цвета 4096 цветов 4 отттенка серого Черно-белый Черно-белый Черно-белый
    Подсветка
    Контекстные кнопки 2 х 5 2 х 5 2 х 3
    Программируемые клавишиКнопка— миниатюрное механическое устройство для передачи сигнала/ввода информации, элемент интерфейса человек-машина: элементарный физический механизм передачи электрического сигнала различным устройствам путём замыкания или размыкания двух или более контактов. По сути своей является датчиком внешнего физического воздействия (факта нажатия), передающим далее факт такового соединённым с ним устройствам. Для пользователя термин «кнопка» ограничен крышкой, частью конструктива механизма «кнопка», на которую он, собственно, и производит нажатие. До 70 До 70 До 70 6 6
    Кнопки Навигации 4 4 4 2 2
    Двухцветный индикаторИндикатор (лат.indicator— указатель)— прибор, устройство, информационная система, вещество— объект, отображающий изменения какого-либо параметра контролируемого процесса или состояния объекта в форме, наиболее удобной для непосредственного восприятия человеком визуально, акустически, тактильно или другим, легко интерпретируемым, способом.
    ГромкоговорительГромкоговоритель — устройство для преобразования электрических сигналов в акустические и излучения их в окружающее пространство (обычно — воздушную среду). Состоит из одной или нескольких излучающих головок, которые собственно и являются источниками звука, а также акустического оформления, необходимого для более эффективного излучения звука в заданной полосе частот.
    Трубка Комфорт Комфорт Комфорт Комфорт Стандарт
    QWERTYQWERTY— наиболее популярная в настоящее время латинская раскладка клавиатуры, используемая для английского языка. На её основе созданы раскладки для многих других языков. Название произошло от 6 левых символов верхнего ряда раскладки. клавиатураКлавиатура (нем.Klaviatur от лат.clavis — ключ) — комплект расположенных в определенном порядке рычагов-клавиш у какого-либо механизма для управления каким-либо устройством или для ввода информации. Как правило, кнопки нажимаются пальцами рук. Бывают, однако, и сенсорные.
    Bluetooth®
    IP характеристики
    СоединениеСоединение — процесс изготовления изделия из деталей, сборочных единиц (узлов), агрегатов путём физического объединения в одно целое. Показатели работоспособности соединения — это прочность и(ли) герметичность, а также технологичность. Является основной частью производственного процесса сборки. с PC Gigabit Ethernet 10/100/1000 Gigabit Ethernet 10/100/1000 Gigabit Ethernet 10/100/1000 Fast Ethernet10/100
    Внешний источник питания
    Поддержка IEEE 802.3af n n n n n
    ПотреблениеПотребление — использование продукта в процессе удовлетворения потребностей. В экономике потребление приравнивается к приобретению благ или услуг. Потребление становится возможным вследствие получения дохода или траты сбережений. Class 3 Class 2 Class 2 Class 2 Class 2
    УправлениеУправление— воздействие субъекта, направленное на достижение абстрактной (неконкретной), но вынужденно-корректируемой цели (задачи, идеи) в уже сложившихся рамках правил, которые неизбежно-совершенствуются когда субъект непротиворечивее познаёт реальность, с которой сосуществует. VLAN
    АксессуарыАксессуар (фр.accessoire от лат.accessorius— «добавочный»)— предмет, сопутствующий чему-либо; принадлежность чего-либо.
    НастенныйСтена— вертикальная ограждающая конструкция, отделяющая помещение от окружающего пространства или соседнего помещения. крепежКрепёж — это изделия для крепления: болты, гайки, винты, шурупы, саморезы, заклепки, шайбы, штифты, шпильки и др. Опция Опция Опция Опция Опция
    Подставка 60°ё Опция Опция Опция Опция Опция
    Дополнительные модули До 120 кнопок До 120 кнопок До 120 кнопок
    Трубка Bluetooth® Опция
    Вес 1070 грамм 1020 грамм 1015 грамм 790 грамм 790 грамм
    Размеры 240x188x133mm 240x180x133mm 240x175x133mm 220x175x133mm 220x175x133mm


ДокументыДокумент (от лат.documentum— образец, свидетельство, доказательство) — материальный объект, содержащий информацию в зафиксированном виде и специально предназначенный для её передачи во времени и пространстве .
В узком смысле Документ — облеченный в письменную форму акт, удостоверяющий наличие фактов определенного значения. В широком смысле и книга, и скульптура - документы.
по теме   / Терминалы /  


2009 IT и оборудование для бизнеса, S-NETWORKS. Информационные технологии и Информационное оборудование