WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!

Pages:     | 1 |   ...   | 7 | 8 || 10 |

«тм Ричард Вагнер, Вайк Исчерпывающее руководство об основном языке сценариев Своевременные для создания полнофункциональных Web-приложений Объектно-ориентированная Исследуется связь JavaScript с другими ...»

-- [ Страница 9 ] --

де После обработки всех записей служа щих, метод выводит дескриптор завершения таб лицы —

. Метод close() закрывает холст. Ниже показан полный исходный код метода findEmployee():

function searchWord) ( write var str = width=10%Xstrong>First Name width=15%Xstrong>Last Name Сейчас, когда все подготовительные действия завер шены, можно приступить к собственно обработке по иска. Каждый совпадающий служащий вызывается для Избранные программные технологии Часть V зан на рис. 32.4. Очистка поисковой формы и фрейма width=15%Xstrong>Department результатов осуществляется по щелчку на кнопке Clear.

В листинге представлен полный исходный код width=5%Xstrong>Ext. для родительского окна employeelnfo.html, а в листинге 32.2 — исходный код JavaScript для окна for (var i++) { str = "if i + + Intranet Employee Database + + + != -1) { + i + Matches:

Запуск приложения " i [Cry [ Теперь можно протестировать приложение, загрузив в браузер файл Предположим, что тре.

буется найти Грейди Андерсона (Grady Anderson). Вве ' Я дите Anderson в текстовое поле, выберите переключатель РИСУНОК 32.4. Результаты поиска, отображенные в виде Last Name и щелкните на кнопке Find. Результат таблицы.

32.1 employeelnfo.html 9 тм Ричард Вагнер, Вайк Исчерпывающее руководство об основном языке сценариев Своевременные для создания полнофункциональных Web-приложений Объектно-ориентированная Исследуется связь JavaScript с your browser does not support frames.

Листинг 32. 9 тм Ричард Вагнер, Вайк Исчерпывающее руководство об основном языке сценариев Своевременные для создания полнофункциональных Web-приложений Объектно-ориентированная Исследуется связь JavaScript с можно поместив на них курсор мыши и не выполняя щелчок одну-две секунды. Более детальное - - Скрыть код от старых браузеров описание всех пиктограмм и возможностей MSSD на ходится в справочной системе.

function playSound(sfile) { // Загрузка и файла 6. После перехода (возможно, при помощи пиктограм ) мы Continue) к завершению вызова события Избранные программные технологии V можно будет услышать звуковой файл, который за-. Можно также просматривать значения выражений пустит система (если компьютер имеет соответству- или строк программы (не пустых и не строк ком ющие Возможно, потребуется ментариев) в окне Immediate:

явно разрешить браузеру открывать звуковой файл, 1. Щелкните из MSSD внутри функции в зависимости от конфигурации Internet Explorer.

в коде (это первая функция, объявленная в заго Эта мера принимается для защиты от открытия не ловке).

известного и потенциально опасного (содержащего 2. Если попытаться напечатать что-нибудь внутри вирус) На рис. 34.5 показан файл функции, MSSD отобразит панель с вопросом, после полной загрузки в браузер.

потребуется редактировать документ. Щелкните на Yes и напечатайте прямо перед фигурной скобкой (}), закрывающей фун кцию.

3. Сохраните отредактированный файл, используя File Save (Файл Сохранить) (или нажав на пиктограмму Save в инструментальной панели).

РИСУНОК 34.4. Прохождение кода с пиктограмм инструментальной панели MSSD.

РИСУНОК 34.6. Использование окна Call Stack для отображения активных вызовов процедур.

are 4. Можно также проставить вручную точку остано ва в строке Debug. Нажмите F9 для установки (или снятия) точки останова. (Строка точки ос танова выделяется красным цветом и слева от нее проставляется красная точка.) 5. Теперь переключитесь на браузер и обновите (пе регрузите) HTML-файл. (Помните, что в таком случае набор точек останова теряется, поэтому, если требуется остановить код на определенной РИСУНОК 34.5. Результат загрузки кода из листинга строке, нажмите F9 для добавления точки оста нова в MSSD.) Выберите Edit Break at Next Statement для оста 9. Когда файл начнет выполняться, откройте окно нова выполнения кода после следующего операто Immediate в MSSD для визуализации текущего со ра. Щелкните на кнопке Press a Button to Play a Song держания выражения Debug. Если продолжить по на HTML-странице. Отладчик остановится на обра шаговое прохождение кода, можно заметить, что ботчике событий Можно теперь отслежи содержимое окна Immediate модифицируется каж вать вызовы процедур, открыв окно Call Stack (Стек дый раз при вызове функции Debug.writeln (см. рис.

вызовов), как показано на рис. 34.6, и пошагово 34.7).

выполняя код.

Отладка Глава Исследование возможностей JavaScript отладчика Netscape Ниже перечислены основные возможности JavaScript отладчика Netscape:

• Окно Source View (Исходный код). Позволяет про сматривать исходный код отлаживаемой HTML-стра ницы.

• Прерывание. Позволяет останавливать выполнение кода отладчиком в любой момент времени.

• Точки останова. Позволяет вставлять точки остано ва в любые места сценария для приостановки отлад чика в этих точках.

РИСУНОК 34.7. и • Пошаговое выполнение кода. MSSD поша вычисление выражения в окне Immediate.

гово (с паузами после каждого шага) выполнять код — по одной строке за шаг.

Заключительные слова об отладчике • Пошаговое выполнение блоков кода. Позволяет по сценариев Microsoft шагово выполнять код, но при этом процедуры вы Отладчик сценариев Microsoft обеспечивает полезную зываются как один модуль (без пошагового выполне среду для автоматизированного выполнения отладки и ния кода внутри них), и переходить к следующему тестирования JavaScript-кода. Инструменты MSSD очень оператору.

похожи на инструменты, которые обычно присутству • Пошаговое выполнение кодов внутри блоков. В от ют в средах зрелых языков программирования, таких как личие от пошагового выполнения блоков кода, здесь Visual Basic и C++. К тому же, интерфейс, установка и выполняются остающиеся строки (начиная от точки инсталляция являются интуитивно понятными выполнения) вызванной процедуры, и затем про и дружественными к пользователю.

грамма переходит на следующий оператор после Однако, MSSD обладает и некоторыми ограничени вызова данной процедуры.

ями, например, в процессе отладки требуется часто • Окно Console (Консоль). Обеспечивает область для переключаться между Internet Explorer и MSSD, и нет визуализации вычислений JavaScript-выражений возможности вывода печать исходного кода. Если необ активного в данный момент фрейма.

ходимо большее количество функциональных возмож ностей, чем может предложить MSSD, обратитесь к • Инспектор объектов. Позволяет просматривать и ра Microsoft Visual InterDev 6.0. Эта программа реализует ботать со значениями свойств объекта.

все перечисленные здесь возможности отладки сценари • Окно наблюдения. Позволяет просматривать выраже ев плюс зрелую среду для Web-разработки.

ния каждый раз, когда интерпретатор останавливает Наконец, MSSD — это инструмент, который стоит и активизирует отладчик.

иметь в своем арсенале;

кроме того, важно, что он рас • Окно Call stack (Стек вызовов). Отображает располо пространяется свободно. Однако, он никоим образом не жение текущей команды.

заменяет запись устойчивого кода и систематическое его • Диалоговое окно Error Reporter (Генератор отчетов об тестирование.

ошибках). Отображает информацию о синтаксичес ких ошибках и ошибках времени выполнения в Использование JavaScript-отладчика JavaScript-коде.

Netscape Использование JavaScript-отладчика Как и отладчик сценариев Microsoft, JavaScript-отлад Netscape для отладки файлов чик — свободно распространяемое средство отладки JavaScript, которое работает как интегрирован- В этом разделе пошагово демонстрируется пример се ная часть Netscape Navigator. (Его можно выгрузить из анса отладки в JavaScript-отладчике Netscape. Предпо сайта http://devedge.netscape.com/software/tools/ лагается, что в качестве текущего браузера используется Netscape Navigator с установленным JavaScript-отладчи ком Netscape.

Избранные программные технологии V !

Запуск JavaScript-отладчика Netscape Для того чтобы открыть исходный HTML-файл для если тип и // транспортного средства не установлены отладки его в JavaScript-отладчике Netscape, необходи // мо выполнить следующие шаги:

|| + vehicleType + is 1. Начните с загрузки страницы JSDebugger.html, рас + vehicleColor) положенной в каталоге else Program\JSDebug, и нажмите на ссылку для запус vehicle type and color could not ка отладчика.

2. В браузере Navigator откройте страницу, которую требуется отлаживать.

3. С помощью кнопки Open (Открыть) в инструмен тальной панели отладчика выберите страницу из списка страниц, открывшихся в Navigator после 2. После открытия и запуска файла полученная в запуска отладчика. Страница отобразится в окне результате Web-страница должна иметь вид, по Source View.

казанный на рис. 34.8. С первого же взгляда мож 4. Установите в отладчике желаемый набор точек ос- но понять, что возникли некоторые проблемы.

Предполагалось, что сценарий должен установить танова.

тип транспортного средства в truck с помощью фун 5. Щелкните на кнопке Reload (Обновить) в Netscape кции и его цвет — в с помощью фун Navigator для запуска отладки страницы.

кции setColor(). Если эти две функции работают должным образом, строка должна выводиться на ПРИМЕЧАНИЕ экран;

в противном случае отображается сигнальное При любой остановке JavaScript-отладчика Netscape применение браузера Netscape Navigator для просмот- сообщение, говорящее, что одна из операций при ра Web-страниц невозможно.

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

отладчика Netscape неплохо потренироваться в практи ческом использовании его для отладки кода. Следующее упражнение обеспечивает хорошую отправную точку:

I. Откройте HTML-файл, показанный в листинге The truck is undefined 34.2, напечатав соответствующий в Netscape Navigator. Откройте тот же файл в JavaScript-отлад чике Netscape.

Листинг 34.2. Отображаемый код.

p., РИСУНОК 34.8. Результат загрузки листинга 34.2.

3. Поскольку нас интересуют значения переменных на логическую операцию AND. Правильная версия сценария показана в листинге 34.3. Результат выпол нения файла представлен на рис. 34.10.

The truck is blue Я • РИСУНОК 34.10. Результат загрузки листинга Заключительные слова о JavaScript отладчике Netscape JavaScript-отладчик Netscape обеспечивает полезную среду для автоматизированного проведения отладки и тестирования Инструменты отладчика Netscape очень похожи на инструменты, РИСУНОК 34.9. JavaScript-отладчик Netscape после обычно имеющиеся в средах зрелых языков программи действия.

рования, таких как Visual Basic и C++. Интерфейс, ус тановка и инсталляция JavaScript-отладчика Netscape 34.3. Исправленный код.

интуитивно понятны и дружественны к Однако JavaScript-отладчик Netscape обладает и ря дом ограничений. Среди наиболее значимых ограниче не было отображено, но все же переменная, пред ставляющая цвет транспортного средства, не полу чила значение 4. Поскольку нас интересуют значения переменных и отобразим значения этих двух переменных в вызовах Необходимо ак Убедитесь, что каждый вызов содержит доста куратно поместить методы alert() в точки кода, что точно информации, чтобы можно было выяснять мес то остановки в коде только за счет чтения текста в сиг поможет точно определить проблемную область.

нальном окне.

Например, метод в каждой из устанавлива ющих переменные функций может уведомить, что функция была выполнена. Метод до и после 5. Когда файл открыт и запущен, посмотрите, какие оператора if сообщит, как вычисляется условное сигнальные окна отображены и какие — нет, а так выражение. Загрузите в браузер код из листинга же — каковы значения переменных на каждом эта 34.4, который содержит эти дополнительные мето- пе выполнения. Первое отображаемое сигнальное ды окно показывает, что обе переменные не были оп Отладка Глава перед выполнением оператора if, как и ожидалось. Следующее сигнальное окно показыва Не забудьте удалить методы которые были для целей отладки.

ет, что функция была выполнена. И пос леднее сигнальное окно отображает набор типов транспортных средств truck, но цвет после операто Итоговые слова об использовании метода ра if все еще не определен, как видно из рис.

Что же случилось с функцией setColor()? Метод в функции setColor(), которая не была вы- Как было показано выше, метод может оказать полнена, сообщает, что функция setColor() не была ся удобным средством отладки для быстрого решения вызвана в операторе if. Ясно, что проблема — в опе- небольших проблем с функциональностью. При отлад раторе if.

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

Резюме В глава были представлены три средства отладки JavaScript-кода. Отладчик сценариев Microsoft и JavaScript отладчик Netscape позволяют отлаживать сложные JavaScript-коды. Оба инструментальных средства стоит поместить в свой арсенал средств, и важно помнить, что РИСУНОК 34.11. Результат загрузки листинга 34.4.

распространяются они совершенно бесплатно. Хотя об этом не упоминалось в данной главе, на рынке присут 6. Более детальное рассмотрение оператора if показы ствует множество других инструментальных средств что первый аргумент в логической операции отладки с полным набором возможностей, однако зача OR вычисляется как true, в чего второй стую они стоят достаточно дорого. В последней части аргумент не вычисляется вообще. Поскольку функ главы рассматривалось применение сигнальных окон ция вернула true, функция setColor() уже как дополнительного средства отладки, когда нет дос не будет выполнятся. Для исправления проблемы тупа к средствам отладки Netscape или Microsoft. Но надо просто заменить логическую операцию OR на даже с этими новыми инструментальными средствами логическую операцию AND. He забудьте удалить ответственность за полное тестирование и отладку методы которые были добавлены для целей JavaScript-кода лежит на разработчике. Ни одно из отладки. Правильная версия сценария приведена в средств отладки, обсужденных в этой главе, не может листинге 34.3. Результат выполнения файла показан заменить написание устойчивого кода и систематичес на рис. 34.10.

кое его тестирование.

и безопасность в Web В ГЛАВЕ Концепции безопасности в клиентской части JavaScript Максимизация надежности защиты Концепции безопасности в серверной части JavaScript Java и безопасность JavaScript предоставляет разработчику Web-сайта Web была разработана как открытая система для возможность расширять статические HTML-страницы с публикации графического гипертекстового содержимого помощью динамического, управляемого событиями в Internet. Разработчики сайтов получили возможность языка программирования. Web-страница с JavaScript- расширять статические HTML-документы динамичес кодом обеспечивает интерактивные функциональные кими, интерактивными возможностями за счет включе возможности, выполняя фрагменты JavaScript-кода в кли- ния в Web-документы языков создания сценариев. Язы ентском Web-браузере. Включение фрагментов JavaScript- ки создания сценариев могут выполняться на серверной кода в страницу документа требует принятия мер по машине или же загружаться на клиентскую машину и защите как целостности кода сценари- выполняться как удаленный код. Меры безопасности ев браузера, так и самого сценария. Просмотр страни- становятся крайне необходимыми, поскольку JavaScript цы, поддерживающей JavaScript, подвергает пользова- и Java получают все большее стано теля большей опасности, нежели выполнение чистого вясь таким образом более привлекательными целями для HTML-документа, поскольку из-за выполняемых фраг- атак.

ментов кода возникает еще один уровень сложности в Безопасность в подключенной к Internet компьютер программе браузера. ной сети может быть оценена в терминах уровня "кон В случае традиционного программного фиденциальности" передачи. Получающая сторона дол между пользователем и программным обеспечением жна быть уверена, что переданная информация была существует соглашения. Установка и использо- действительно послана указанным отправителем. Кро вание программ требует от пользователей явных дей- ме того, сообщение не должно по пути изменяться. В ствий и решений. JavaScript-код не соответствует при- гетерогенной компьютерной сети, коей является Internet, нятым соглашениям. Код сценария загружается из подобная конфиденциальность в настоящее время не удаленного источника и выполняется без подтвержде- может быть абсолютной. Internet задумывался и разра ния пользователя. Выполнение кода из батывался как распределенная система, посредством удаленного источника аналогично поеданию яблока, по- которой поток информации в сети должен пройти че лученного по почте от неизвестного отправителя. В ис- рез огромное количество различных машин, чтобы доб полняющую JavaScript-код систему должны быть поме- раться до указанного адресата. Проходя через множество щены определенные проверки и ограничения, дабы хостов, трафик подвергается модификациям или заме уберечь компьютер пользователя от преднамеренных нам множество раз. Адрес отправителя может быть вы или неумышленных посягательств на ценную информа- мышленным (подставным). Хотя всеобщая доступность цию и приложения. Ни один пользователь не захочет и электронная структура незащищенных передач суще предоставить всему миру доступ к своему компьютеру, ственно затрудняет учет, однако шифрование, цифро поэтому знания особенностей JavaScript-кода, которые вые подписи и проверка исходного кода — все это от могут повредить клиентскую или серверную машины, носится к попыткам противостоять атакам.

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

время как код, полученный из сетевых ресурсов (уда- Стоимость и сложность мер безопасности, осуществ ленный код) может претендовать на гораздо более низ- ляемых для защиты компьютерной системы пользова кий уровень доверия — в зависимости от источника (кор- теля, должна учитывать затруднения, налагаемые их поративная сеть или сайт хакера вирусов). В прошлом существованием. Ниже приводится список областей доверие обычно зависело от происхождения кода при- уязвимости машины клиента при выполнении кода сце ложения. Риск при установке пакета, купленного в роз- нария:

ничной продаже и произведенного известной фирмой, • Изменение файловой системы минимален по сравнению с риском при загрузке самой • Чтение/запись в файл новой игры, свободно распространяемой в Internet. Ус • Чтение/запись системной памяти тановка электронных распределительных каналов для приложений (JavaScript и кода Java) требует принятия • Отправка по сети приватной информации новой технологии и процедур, а также обучения потен • Связь с другими сетевыми ресурсами циальных потребителей.

• Выполнение/завершение программ на локальном ком Компьютерная промышленность движется к назна пьютере или внешнем хосте чению цифровых сигнатур разработчиков и к созданию • Использование чрезмерных системных ресурсов (ата подписанных аплетов, способных определять безопас ки типа "Отказа в обслуживании") ность для JavaScript-кода. Идентификацией JavaScript разработчика будет, вероятно, передача на Web-браузер • программы хоста (Web-браузера) цифровой сигнатуры, добавленной в конце файла сце нария. Пользователи, имеющие более новые браузеры, Языки программирования создавались, чтобы предо на основе полученной сигнатуры смогут решать, при- ставить разработчикам инструментальные средства для нимать ли загрузку кода с сайта. Рисунок 35.1 показы- конструирования приложений. Для обеспечения мер вает диалоговое окно, отображающее инфор- безопасности, связанных с выполнением кода у сетевых мацию, которая содержится в цифровом сертификате. клиентов, компания Netscape разработала JavaScript, не содержащий многие функции традиционных языков программирования. Отсутствие некоторых возможнос ' тей обеспечивает в Web еще один уровень защиты от атак, однако препятствует созданию изящного содержи мого приложения. В этой главе рассматриваются воз можности JavaScript- и Java-кода по нарушению безо пасности, а также шаги, которые можно предпринять в плане предотвращения атак подобного рода.

Концепции в клиентской части JavaScript. Наиболее распространенная в настоящее время опас •, ность на локальных машинах, имеющих доступ в связана с выполнением у клиента удаленного JavaScript кода. Использование клиентского JavaScript допустимо при условии выяснения источника документа. Суще РИСУНОК 35.1. Типовой вид цифрового сертификата.

ствование HTML-дескриптора лены в виде новой методологии — преднамеренного ис кажения данных.

используя самые последние его обновления. Netscape Преднамеренное искажение данных исправил большинство ошибок в версиях 2.01 и 2.02. В основном, это касалось ликвидации дыр в защите, свя- искажения данных была помещена в язык занных с выполнением Java. Было бы неплохо, чтобы как механизм совместного использования данных для пользователи и разработчики воспользовались как мож- окон, открытых из различных серверов. Искажение дан но более новыми версиями Netscape Navigator. ных можно осуществить, устанавливая системную пе ременную в любое значение.

Более поздние версии Navigator Когда искажение данных разрешено, все JavaScript Основная модификация интерпретатора JavaScript из- объекты и свойства становятся общедоступными. Данная менила определение допустимого кода по сравнению с возможность необходима для совместного использования более ранними версиями. Меры безопасности для бра- разными окнами информации от разных серверов. Окна узеров Netscape постоянно изменяются с учетом разви- могут получать "чужую" информацию от других доступ тия правильного равновесия между возможностями язы- ных окон, но когда эта информация посылается на сер ка и уровнем пользовательской секретности. всплывает диалог подтверждения, позволяющий Операция вызова document была изменена с отменить или подтвердить операцию post. Если систем обеспечения гарантии того, что JavaScript-код не будет ная переменная не установлена, ссылки на данные записываться поверх исходного сценария. Наличие вы- форм на других серверах будут генерировать сообщения зовов функций document.open или фун- об ошибке "access disallowed from scripts at to кции вне дескрипторов , не ссылающихся на documents at (доступ из сценария по новое окно, приводит к ошибке. Ниже приведен при- в документы по запрещен).

мер недопустимого сценария:

СОВЕТ ных, которые можно отправить на сервер через

и безопасность в Web Глава unmarked = для идентификации при просмотре заслужива ющих доверия. Internet Explorer имеет диалоговое окно, которое может отображать которым доверяет ПРЕДОСТЕРЕЖЕНИЕ клиентский браузера (см. рис. 35.5).

Когда системная переменная уста JavaScript-код в одном из окон видит все свойства документов из других окон, включая приват Trusted and ные данные и информацию списка посещений в тече You the following publishers and agencies as means can ние данного сеанса.

and these by agencies without you first.

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

Internet Explorer 3.x Поскольку возможность выполнения JavaScript- и Java РИСУНОК окно Windows Security, только недавно была включена в Internet Explorer Microsoft, независимые эксперты еще не успели подго товить широкий обзор его механизмов безопасности.

Максимизация надежности защиты Обзор интерфейса приложения показывает хорошо про думанный подход к безопасности. Меры обеспечения Прежде чем отправляться в плаванье по неизведанным секретности и регистрация аплетов были встроены в водам, можно предпринять по уменьшению воз браузер и работают с пользователем, гарантируя, что действия атак на безопасность из-за "предательства" Java информация будет на сервер только явно. JavaScript-кода. Можно определить, какой уровень На рис. 35.4 показано диалоговое окно, содержащее все защиты необходимо задействовать, опираясь на объем возможности по обеспечению секретности, доступные доверия для данного источника. При посещении новых в Internet Explorer. сайтов (либо уже просмотренных сайтов после запроса virus hackers) желательно полностью удалить возмож ность выполнения языков создания сценариев в браузе | | | ре. Кроме того, сетевой администратор может выбрать нисходящий подход к безопасности, отключив выпол Г me over an open нение Java-классов, полученных из Internet. Сетевая r безопасность может конфигурироваться для удаления Г me crossing возможности передачи файлов Java-классов через про Warn me кси-сервер во внутреннюю сеть. Если отслеживаются la сводки и советы по безопасности, должно быть хорошее представление о риске обхода сетевой защиты.

1 I Безопасные сеансы и цифровые сигнатуры can choose what of can download and run on your Как упоминалось ранее, безопасные сеансы иницииру Enable ются браузером;

при этом устанавливается шифрован ный поток передачи данных между сервером и браузером.

Шифрование основывается на цифровых сертификатах, хранящихся на сервере. Дальнейшая защита достигает ся за счет использования цифровых подписей для каж РИСУНОК 35.4. обеспечения в дого файла, загруженного клиенту. Авторитетные службы Microsoft Explorer, проверки, такие как Verisign, трудятся бок о бок с раз Интерфейс приложения также включает возмож- работчиками браузеров с целью создания структуры для ность ограничения загрузки кода только серверами, зас- добавления цифровых сигнатур в файлы сценариев и луживающими доверия. Эта особенность основывается аплетов. Более поздние версии Netscape Navigator и на сервером сертификатов безопасности Internet Explorer, в дополнение к экранным визуальным Избранные программные технологии Часть V подсказкам, обеспечивают информацию о текущем уровне безопасности документов или фреймов.

If page you ate is Для просмотра уровня безопасности документа (или it! be фрейма) в Netscape Navigator выберите View Page ("Document Info" в старых версиях) или View Frame Info. Строка Security дает текущий уровень безопасно сти. На рис. 35.6 показана информации о безопасности gaK.com в Netscape Navigator.

Ire.

Для просмотра уровня безопасности документа (или 1 фрейма) в Microsoft Internet Explorer выберите го Properties, а затем — вкладку Security, либо щелкните RC ( на кнопке Certificates, в зависимости от используемой версии Internet Explorer. На рис. 35.7 показана инфор мация о безопасности в Internet Explorer.

РИСУНОК 35.7. Информационное диалоговое окно Internet fctip^'totwonh Explorer, сообщающее о защищенности документа.

File MIME Local rae:

Для отключения JavaScript в более поздних версиях Netscape Navigator выберите Edit Preferences (см. рис.

35.8) и выберите опцию Advanced. Удалите отметку на No date флажке Enable (Разрешить JavaScript) и затем щелкните на кнопке ОК.

TO» US Serial 9A fr to РИСУНОК 35.6. Информационное окно Netscape Navigator, о защищенности документа.

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

Недостаток подобного подхода состоит в том, что тог РИСУНОК 35.8. JavaScript в более да из Web-сайта будут удалены многие Netscape Navigator.

поэтому Web-сайт не сможет работать, как задумыва лось. Эти параметры следует использовать только при Для отключения JavaScript в Explorer 4 или посещении непроверенных сайтов.

более поздних версиях выберите Tools Internet Options и вкладку Security. Щелкните на кнопке Custom Level, JavaScript отыщите Active Scripting (см. рис. 35.9) и выберите Disable.

Для отключения JavaScript в Netscape Navigator В Internet Explorer 3 отключить JavaScript нельзя.

выберите Security Preferences и вкладку General.

Java Отметьте флажок Disable JavaScript (Запретить JavaScript) и затем щелкните на кнопке ОК.

Для отключения JavaScript в Netscape Navigator 2. выберите Options Security Preferences и вкладку General.

Отметьте флажок Disable Java и щелкните на кнопке В Netscape 2.0 отключить JavaScript нельзя.

ОК.

и безопасность в Для отключения Java в более поздних версиях Netscape pax, и таким образом гарантировать, что пользователь Navigator выберите Edit Preferences (см. рис. 35.8) и не сможет загрузить файл, вызывающий нарушение бе выберите опцию "Advanced". Снимите отметку флажка зопасности. Однако, уровень фильтрации должен быть Enable и затем щелкните на ОК. определен с учетом баланса выгод, достигаемых при Для отключения JavaScript в Internet Explorer выбе- более высоком уровне безопасности, и стоимости реа рите Tools Internet Options и вкладку Security. Щел- лизации такого решения. Реализация решений по безо кните на кнопке Custom Level, отыщите Java. Выбери- пасности для маршрутизатора или прокси-сервера вообще те Disable, а затем щелкните на кнопке ОК. На рис. дорого обходится в плане затрат ресурсов и финансов, 35.10 показано диалоговое окно Internet Explorer, кото- поэтому следует предварительно убедиться, что подоб рое используется для запрещения Java-программ. ного рода защита действительно необходима.

HTTP-запросы используются клиентским браузером для запрашивания фрагментов JavaScript и Java-кодов.

Поскольку HTTP также используется для нормального функционирования Web-браузера, прокси-сервер не может запретить доступ ко всем по скольку это бы привело к недоступности Web для браузе ра. Технология фильтрации (которая может использо ваться для удаления загрузки Java) должна фильтровать URL для блокировки всех файлов, имеющих расшире ние или Фильтрация JavaScript-кода более сложна, так как исходным файлам разрешено исполь зовать любые расширения, а кодовые фрагменты могут быть внедрены во внутренние Web-страницы.

Информационные ресурсы о безопасности для JavaScript и Java РИСУНОК 35.9. Отключение JavaScript в Internet В Internet имеется множество сайтов, содержащих ин формацию по проблемам безопасности. Сбор информа ции об актуальных мерах безопасности — неплохое начало для принятия правильных решений о риске, c возникающем при использовании последних техноло гий.

on Наиболее точная информация содержится на следу to.

О ющих Web-сайтах:

О О • Netscape:

О • Информация, связанная с продукцией Netscape: Sun на http://java.javasoft.com/sfaq/ • Информация, связанная с Java: CERT на http:// www.cert.org • Независимые консультации о текущих нарушениях безопасности: CERT FTP на ftp://info.cert.org/pub/ 35.10. Отключение Java в Internet cert_advisories • Поисковый каталог для файлов, содержащих слово Фильтрация через брандмауэр Java: Safe Internet Programming на (firewall) и прокси-серверы обычно пред www.cs.princeton.edu/sip/. Этот сайт создан исследо ставляют собой первую линию защиты между Internet вательской группой Принстонского университета, и внутренней сетью (WAN, LAN или удаленной маши которая занимается расширением Internet-сценариев.

ной). Сетевые администраторы могут конфигурировать Именно они обнаружили самые последние проколы маршрутизаторы брандмауэра с целью фильтрации се в защите Java.

тевого потока данных, базируясь на различных парамет Избранные программные технологии Часть V заблокирован прежде, чем будут изменяться Концепции безопасности в серверной значения данных, иначе целостность переменных части JavaScript и счетчиков приложения не будет Функциональные возможности Web-серверов можно между клиентскими процессами.

расширить через выполнение подпрограмм JavaScript и Java, а также и серверных модулей. Сер верное расширение JavaScript применяет существующие возможности языка JavaScript для создания приложе ний, которые могут обращаться к базам данных и другим ресурсам, постоянно находящимся на сервере. Возмож ность выполнения серверного расширения JavaScript на сервере Netscape в настоящее время описана как техно логия LiveWire и допускается через администратора сервера. На рис. показано окно Enterprise Server, которое используется для активизации серверного рас ширения JavaScript (LiveWire).

РИСУНОК Активизация для выполнения JavaScript.

Наибольшего внимания требуют меры безопасности для серверного расширения JavaScript читать и записывать информацию непосредственно на жесткий диск. Определенным образом отформатирован ные данные могут часто разрушать программы, которые читают или записывают файлы. Код серверного сцена рия необходимо тщательно протестировать, дабы обре сти уверенность, что перед записью на диск данные пользователя переводятся в допустимый формат. Также обязательно, чтобы код серверного JavaScript содержал РИСУНОК 35.11. Активизация серверного расширения JavaScript.

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

для активизации LiveWire для указанного подкаталога // файл для сервера.

// целей блокировки Технология LiveWire предоставляет четыре новых // доступ к файлу else объекта JavaScript для применения на сервере: request, { client, project и server. Объект request содержит свойство // выполнить файловый ввод/вывод request.ip, которое позволяет серверу определять // восстановить оригинальное // имя файла адрес, от которого исходит клиентский запрос. Этот объект используется для проверки заслуживающих до верия клиентов, которым может быть предоставлен до- Серверный код не должен записывать файлы на диск ступ к конфиденциальной информации. Объект гло- в общедоступные каталоги, для которых установлена бальных данных приложения project, должен быть возможность запуска. Обычная хакерская уловка состоит и безопасность в Web Глава в применении заслуживающей доверия серверной про- позволяют разработчику реализовать смешанные Java граммы для создания файла на сервере, который позже и JavaScript-коды внутри Java-аплетов (технология может использоваться для атаки. Например, К тому же, JavaScript может напрямую которая загружает текстовые файлы от клиен- обращаться к функциям Java-аплетов, передавая пара та на сервер, может послужить для создания выполня- метры и получая возвращаемые значения. Эти два язы емого файла сценария. Когда атакующий обращается к ка могут использоваться в тандеме для создания исчер загруженному файлу через Web-браузер, серверный код пывающих решений для удаленных клиентов.

выполняется и может натворить бед на сервере. Знание истории Java важно в плане преодоления Администраторы Web-сайтов и разработчики кода возможных проблем безопасности, связанных с его те должны знать, что серверный JavaScript вполне может кущей реализацией. Язык копирует C++ во многих от разрушить промышленный сервер. Чрезмерное исполь- ношениях — он имеет тот же синтаксис, похожие клю зование системной памяти, некорректная блокировка чевые слова и поддержку объектно-ориентированной объектов, бесконечные циклы и неверный файловый методологии, включая и наследование. Java отличается ввод-вывод может привести к аварийному останову сер- от C++ в том, что добавляет в язык гибкость и пытается вера. Весь код сценария должен быть полностью про- создавать более безопасную среду: код не может подде тестирован на сервере динамически запуском его лывать указатели, сборка мусора осуществляется авто в работу. Кроме того, код потребуется опытным путем матически, реализуется только одиночное наследование.

проверить на возможные тупиковые ситуации. Машино-независимая структура Java изолирует програм миста от операционной системы целевой машины. Ос новные стандартные блоки программирования расши Клиентское расширение JavaScript может попытаться рены подготовленными пакетами, обратится к порту на исходном сервере. По способными определять систему клиента и сервера.

требуется выполнить проверку безопасности, которая Язык Java первоначально предназначался для созда бы гарантировала, что между сервером и при ния встроенных приложений на персональных прибо сутствует надлежащая сетевая защита.

рах (настольные телевизоры, персональные коммуника Интерпретатор Java необходимо явно активизировать торы, карманные компьютеры и т. п.). Возможность атак для каталогов сервера. Управление приложениями сер- на эти закрытые системы намного ниже, чем при соеди используется для определения каталогов, которые нении с самой большой общедоступной сетью с откры могут выполнять Java-модули. тыми стандартами.

На рис. показана страница управления прило- Программный интерфейс приложения, предложен жением, используемая для активизации Java для опре- ный Sun Microsystems для языка Java, в процессе обще подкаталога сервера. ственной стадии тестирования был достаточно устойчив, чтобы обрабатывать большинство задач, необходимых в традиционных настольных компьютерных приложе ниях. Цель состояла в том, чтобы разрешить заслужи вающему доверия браузеру или заслуживающей доверия Java-среде обрабатывать непроверенные компоненты Java-класса. Текущая реализация Java такое так как его механизмы безопасности не соответствуют основным промышленным стандартам безопасности для заслуживающих доверия систем. Сам по себе язык Java не может считаться безопасным, по скольку не имеет самых базовых компонентов безопас ной архитектуры.

Java не содержит основных механизмов безопасно сти, таких как возможность проверки в загрузчике клас сов в документ модулей, загруженных в процессе ата ки. Поскольку могут существовать вне контекста Web-документа, который их загрузил, аплет-жулик мо РИСУНОК Активизация Java на сервере.

жет проводить атаку без того, что пользователь заметит его существование. Определяемая пользователем поли Java и безопасность тика проверки должна быть доступна, что позволяет Язык Java предлагает намного больше возможностей, регистрировать выполнение аплета, сетевой адрес аплета нежели JavaScript. Более поздние версии Netscape и байт-код аплета.

Избранные программные технологии V Добавим, что реализации Java не доказали, что он гнут переполнению или потере значимости. Все досту является безопасным языком, как предполагали его со- пы к объектам класса проверяются на соблюдение ме здатели. Большинство подсистем содержат ошибки за- ханизма защиты, определенного для членов объектов щиты, которые не были полностью исправлены, что (приватный, защищенный, общедоступный). Кроме приводит к повторяющимся сигналам об ошибках защи- того, код проверяется на отсутствие каких-либо неза ты. Таблица 35.2 подробно описывает наиболее важные конных преобразований данных. После того как вери из них, которые зарегистрированы Sun Microsystems на фикатор исполнит свою работу, код преобразовывает странице Applet Security FAQ ся рабочим Java-компилятором в машинный код.

Исследователи, которые обнаружили эти ошибки Управление защитой защиты, публично заявили, что Java придется радикаль но изменить, чтобы достичь их определения безопасной Класс SecurityManager используется рабочей системой среды. Атака с использованием незаконного приведения Java для доступа к разрешению управления Java-клас типа успешно обходит механизм безопасного приведе- сами. Поскольку SecurityManager реализован как Java ния типа в Java. Успешные атаки на механизм приведе- объект, когда начинается выполнение, управление бе ния типа позволяют Java-объектам подменять свой тип. зопасностью защищается системой Java-типов. Если Разработка хакерами жульнического загрузчика класса система типов доказала безопасность, и файловая сис означает, что непроверенный код приложения потенци- тема не была поставлена под угрозу, SecurityManager ально может быть загружен и выполнен из непроверен- считается заслуживающим доверия классом.

ного источника без ведома браузера. Трансляторы Java отвечают за компиляцию исход ного Java-кода (файл с расширением в машино Компоненты защиты байт-код (файл с расширением Механизмы защиты, управляющие Java-объектами, ре- Байт-код передается по сети на локальную машину и ализованы на Java. При запуске рабочей системы брау- интерпретируется либо компилируется в первоначаль зера не возникает никаких ограничений по защите. ный код системой выполнения Java. Проверка байт-кода Класс SecurityManager, контролирующий безопасность, Java является критическим шагом в определении цело загружается из каталога, содержащегося в клиентской стности Java-аплета. Таким же образом, как текущие системной переменной Такие заслужива- программы проверки на вирусы ищут незаконные про ющие доверия файлы класса (MOZxxx.ZIP в Netscape цессы и системные вызовы, байт-код проверяется на Navigator 2.0 и JAVxxx.ZIP в Netscape Navigator 3.x) отсутствие каких-либо атак на безопасность.

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

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

Таблица 35.2. Некоторые ошибки защиты Java.

Дата Проблема Состояние 26 марта г. Непроверенный код Исправлена в JDK 22 июля г. Принстонская атака загрузчика класса Исправлена в JDK 1. 2 июля г. Атака с применением незаконного приведения типа Исправлена в JDK 1. мая г. Новая версия предыдущей атаки загрузчика класса Исправлена в Netscape З.ОЬ Апрель г. Атака разрешения имени URL Исправлена в Netscape З.ОЬ Март г. Ошибка верификатора Исправлена в Netscape 2. Март г. Ошибка выполнения загрузчика класса Исправлена в Netscape 2. Февраль Атака DNS Исправлена в Netscape 2. avaScript и безопасность в Web Глава Методы защиты аплетов предписывается концепци- тельности, выполнение Java в Netscape устанавливает ей пространства имен (named space). Каждый Java-аплет недокументированные ограничения, определяющее до должен иметь уникальное имя, в зависимости от источ- ступность разных портов.

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

женный код от перезаписи системного класса. Стоит добавить, что подделка пространств имен хеша, кото рые жизненно важные системные компонен- Файловый ввод-вывод ты класса, такие как загрузчик класса, было одной из Текущие реализации клиентских расширений не первых ошибок защиты, найденных в Java. Ошибки заг- разрешают чтение и запись на жесткий диск клиента. На рузчика класса были подробно задокументированы ис- клиентской машине вызовы для открытия, чтения, за Принстонского университета. писи и закрытия файлов генерируют уведомление SecurityExceptions или Приложение Applet Ограничения защиты Viewer от Sun Microsystems использует файл управления подмножество языка Java было расширено за доступом, чтобы предоставить чтение и разрешение за счет многих важных пакетов классов, которые уберега- писи на диск клиента. Вероятно, что некоторые опера ют программистов от повторного изобретения основных ции из этой схемы будут в будущем приняты новым интерфейсов. Реализация пакета может освободить про- браузером Netscape. Как упоминалось ранее в главе, граммиста от связанных с платформой проблем, но так- серверное расширение Java может обращаться к жест же может ограничить доступ к некоторым компонентам кому диску хоста для выполнения операций с файлами.

нижнего уровня. Определенная реализация Java оказы Доступ в память вает влияние на базовый доступ к машинным подсис темам, ответственным за сетевую связь, файловому вво- В Java исходный код не имеет концепции указателей ду-выводу, доступу к памяти и системным ресурсам. В памяти. Это существенно упрощает использование язы настоящее время серверный имеет меньшее ка и уменьшает количество ошибок кода. Поскольку количество ограничений защиты по сравнению с кли- указателями не ссылаются на структуры данных, мно ентским Java-кодом. го сторонников Java полагают, что он должен быть бо лее безопасным языком по сравнению с C++. К тому СОВЕТ же, программисты Java не могут подделывать указате В Java-коде сообщения об ошибках, включающие тер ли на функции.

мин SecurityException, указывают на нарушение огра ничений защиты. Системные ресурсы Возможность блокирования системных ресурсов явля Сетевая связь ется риском безопасности в Java. Например, в реализа Использование концепции совместной работы Sandbox ции Netscape блокирование класса "песочницы" служит для ограничения возможностей свя- приводит к блокированию всех новых сетевых подклю зи для кода аплета с другими машинами. Подобного рода чений.

аплет может связываться только с из которо- Как Java, так и JavaScript — революционные языки, го он исходит. Ограничение кода "игрой только в своей которые помогают разработчикам Web-сайтов создавать песочнице" — первая линия защиты от жульнического интерактивное содержимое. Однако, возможность запус аплета. Менеджер безопасности ограничивает сетевые ка удаленного кода на клиентских машинах должна рас вызовы так, что они могут только открывать каналы сматриваться и с точки зрения потенциального нанесе связи между клиентом и исходным DNS-адресом апле- ния ущерба среде пользователя.

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

Избранные программные технологии Часть V Механизмы все еще развиваются с целью создания главе рассматривались клиентские области, которые более безопасной подключенной к сети среды, интуи- должны быть защищены от атак, и тивно понятной пользователю. Меры безопасности, ин- было показано, как пользователи могут уберечь свои капсулированные в JavaScript-код, еще не готовы к ис- машины при выполнении программ на JavaScript и Java.

пользованию в критических средах, однако быстрый Методологии безопасности пребывают в настоящее вре рост Internet-технологий приближает реализацию реше- мя в состоянии разработки. Запуск удаленного кода на ний. клиентских машинах в текущих реализациях строго ог раничен, так как потребности пользователя и разработ чика сбалансированы мерами, направленными против Резюме потенциально некорректного употребления. Знание ог Поскольку компьютерные пользователи выходят за рам- раничений и особенностей текущей технологии критич ки настольных систем и связываются с деловыми парт- но при установке требуемого уровня доверия и распро нерами и друзьями по всему миру, проблемы, связан- странении динамических и изящных приложений и ные с компьютерной безопасностью и секретностью содержимого в Internet.

становятся проблемами первостепенной важности. В Приложение ЧАСТЬ А. Десять основных ресурсов в Web посвященных JavaScript Десять основных ресурсов в посвященных Netscape DevEdge Online Введение в JavaScript от Voodoo Это центральный Web-сайт компании Netscape для всех Введение в JavaScript от Voodoo — обучающая программа его технологий разработки. Здесь можно найти офици в 12 частях, охватывающая все популярные аспекты альную документацию Netscape JavaScript, а также JavaScript. Она пригодна как для новичков, так и для статьи и информационные бюллетени, отражающие все, экспертов. Часть 1 объясняет, что такое JavaScript и как что Netscape делает в мире JavaScript. Сайт включает он используется, а следующие части рассматривают следующие страницы:

применения слоев и динамического HTML.

• JavaScript Authoring Guide по адресу developer.netscape.com/docs/manuals/communicator/ lrt.org htm • JavaScript Developer Central по адресу developer.netscape.com/tech/javascript/index.html Irt.org (Internet Related Technologies) содержит огромное • Official JavaScript Language Specification по адресу количество высококачественных статей по всем раз ftp://ftp.netscape.com/pub/review/jsspec.ps.gz делам, включая ASP, HTML, динамический HTML, VBScript, CSS, XML, JavaScript и т.д.

Технологии написания сценариев выше URL определяет непосредственно раздел JavaScript, можно отыскать множество полезных статей в удоб Microsoft но организованном каталоге.

Это главный Web-сайт компании Microsoft, содержащий Focus on JavaScript информацию по JScript и VBScript. Здесь можно выгрузить самую новую версию механизма Microsoft, Этот сайт поддерживается Нейтом (Nate а также найти документацию и примеры применения одним из соавторов этой книги. Здесь мож JScript и VBScript. Сайт включает следующие страницы:

но найти еженедельные статьи, посвященные JavaScript, JScript Language Reference по адресу а также ссылки на последнюю информацию на других msdn.microsoft.com/scripting/jscript/doc/jstoc.htm сайтах. Сайт содержит следующие страницы:

JScript FAQ по адресу http://msdn.microsoft.com/ About.com JavaScript Tutorial по адресу JScript Samples по адресу http://msdn.microsoft.com/ Focus on JavaScript Newsletter по адресу JavaScript Wide Web Приложение А и раздел по книгам, посвященным JavaScript. Библио SuperScripter тека кодов очень хороша и содержит свыше 500 высо кокачественных сценариев.

Это раздел, посвященный JavaScript, на Builder.com в Каждую неделю JavaScript-гуру Builder.com пишет Webcoder.com статью, рассматривающую какой-либо аспект JavaScript.

Архив содержит лучшие статьи и примеры, доступные Webcoder.com содержит примеры статьи с Web.

практическими рекомендациями, ссылки на JavaScript и динамический HTML, а также демонстрационные для многих популярных и новых JavaScript приложений.

JavaScripts.com содержит тысячи готовых примеров JavaScript-кода для использования при создании Web- Website Abstraction страниц. Сайт предназначен только для членов, однако членство на нем свободное и все, что требуется — это Website Abstraction — большой каталог свободно доступ указать свой адрес электронной почты.

ных JavaScript-кодов и обучающих программ JavaScript.

Сайт также содержит информацию и примеры других JavaScript Source таких как Java и динамический HTML.

JavaScript Source является прежде всего библиотекой примеров кода JavaScript, но он также содержит форум CD-ROM Сопровождающий CD-ROM содержит много полез- 5. Программа установки создает программную группу ных инструментальных средств и утилит, плюс исход- с именем "JavaScript Unleashed 3", содержащую пик ные коды и примеры, рассмотренные в книге. тограммы, которые можно для про смотра CD-ROM.

Установка на компьютерах Macintosh Если на компьютере установлена Windows 98 и раз 1. Вставьте CD-ROM в дисковод.

решена возможность AutoPlay (Автозапуск), программа 2. Когда пиктограмма CD-ROM появится на рабочем SETUP.EXE будет автоматически запускаться после столе, откройте CD-ROM, дважды щелкнув на его помещения CD-ROM дисковод.

пиктограмме.

3. Дважды щелкните на пиктограмме Guide на CD-ROM Установка под управлением и следуйте выводимым инструкциям.

Windows NT Установка под управлением 1. Вставьте CD-ROM в дисковод.

Windows 2. Выберите Run (Файл Запуск) в провод 1. Вставьте CD-ROM в дисковод.

нике.

2. Дважды щелкните на пиктограмме My Computer 3. Введите и нажмите Enter (drive (Мой компьютер) на рабочем столе.

соответствует имени дисковода CD-ROM).

3. Дважды щелкните на пиктограмме, представляющей 4. Программа установки создает программную груп дисковод CD-ROM.

пу с именем "JavaScript 3", которая содер 4. Дважды щелкните на пиктограмме для жит пиктограммы, используемые для просмотра запуска программы установки. CD-ROM.

Предметный указатель Символы Opera 28, Диалоговое окно Prompt Opera 3.x ! 74 Диалоговые окна HotJava 3.0 $ 404 Динамическая инструментальная He-JavaScript 47, панель & старые && 74 Динамическая подмена (rollover) В (...) 403 Динамический HTML (DHTML) Ввод пользовательский Документ HTML * Верификация данных 367, + 73, 403 Доступ к Java из JavaScript Визуальные эффекты Доступ к JavaScript из Java --> 33, Внедрение сценариев Дочерний (child) элемент. Внешние файлы / Выделение текста (onSelect) // Загрузка документа (onLoad) Вызов Java-методов < Замена обработчиков событий Выражение

© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.