На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

ИСПОЛЬЗОВАНИЕ КОММЕНТАРИЕВ HTML ДЛЯ   ВСТАВКИ   КОМАНД JAVASCRIPT

Перед тем как подробно обсуждать JavaScript, необходимо понять, как разра­ботчики HTML-документов включают в них операторы JavaScript. Как уже говорилось в главе 6, комментарии HTML-документов записываются в следующем виде:
<!- Это комментарий
<!- Конец комментария ->
Далее показано, как нужно внедрять операторы JavaScript с помощью коммен­тариев HTML:
<SCRIPT>
Начало комментария,- не обрывайте его в этом месте Операторы JavaScript должны стоять здесь
<!— Конец комментария ->
</SCRIPT>
Как можно видеть, первый комментарий не заканчивается в той строке, где он начался. Используйте именно этот формат в HTML-документах. Разработчики помещают операторы JavaScript внутри комментариев HTML. Благодаря этому броузеры, не поддерживающие JavaScript, попросту проигнорируют этот фраг­мент кода, воспринимая его как комментарий.
КОММЕНТАРИИ JAVASCRIPT
При создании сценариев JavaScript вам придется включать комментарии в текст программы, чтобы пояснить ход ее выполнения. С их помощью другой програм­мист сможет разобраться в работе вашего сценария. В JavaScript поддерживает­ся тот же формат комментариев, что и в апплетах Java или программах C/C++:
/* Это комментарий */
//  Это комментарий
/*  Это комментарий, ! состоящий из нескольких строк */
ЭЛЕМЕНТ <SCRIPT>
Разработчики Web-страниц используют элемент <SCRIPT> в файлах HTML, для того чтобы указать URL сценария или сам сценарий. Например, следующий
фрагмент программы служит для указания URL JavaScript:
<SCRIPT LANGUAGES "JavaScript'">
SRC="http:\www.j amsa.com\somescript.j s"X/SCRIPT>
Аналогичным образом следующий элемент <SGRIPT> служит для формирования операторов JavaScnpt, предоставляемых на выполнение броузеру:
<SCRIPT LANGUAGE= "JavaScript''> <!— Прячем JavaScript
document.write("Hello, JavaScript!<BR>"); // перестаем прятать текст программы ->
</SCRIPTX/BODYX/HTML>
СТРОКИ JavaScript
Как известно, строка символов содержит несколько (или ни одного) ASCII-сим­волов. В JavaScript можно заключать строки в одинарные или двойные кавыч­ки. Например, следующие строки являются идентичными: ,
SomeString = 'Hello, World';
SomeOtherString = "Hello, World" ;
Как вы увидите, используя оператор сложения (+), можно соединить две строки символов в одну:
Message ^'Hellf5 + "World";
В строку символов можно вроде
символа новой строки (\п), символа табуляции (\t), символа перевода каретки (\0 и т. д. Как вы узнаете, некоторые реализации JavaScript позволяют хакерам использовать строки символов вместе с командами получения доступа к диску. Благодаря этому они могут получить доступ к вашему жесткому диску.
ПРОСТОЙ вывод ДАННЫХ с помощью JAVASCRIPT
В рамках документа HTML можно перемешивать текст, выводимый элементами HTML, с текстом, выводимым с помощью JavaScript. Для вывода с использо­ванием JavaScript ваш документ должен использовать метод write объекта document, как показано ниже:
<HTML>
<HEADXTITLE>SimpleOut</TITLEX/HEAD> <BODY>
This is the HTML text <SCRIPT LANGOAGE=" JavaScript"> <!- Прячем JavaScript
document.write("...Followed by JavaScript Text<BR>");
перестаем текст программы —>
</SCRIPT>
and this is the final text < / BODYX / HTML>

Как можно видеть, этот фрагмент программы - - он расположен в файле SimpleOut.HTML— указывает текст в формате HTML, а также выводит данные с помощью document.write. Если просматривать эти операторы с помощью Netscape Navigator, то вы увидите на экране текст, аналогичный показанному на рисун­ке 20.15.
В JavaScript объект document соответствует текущему HTML-документу. Если сценарий использует метод write для вывода данных, то броузер отобразит их в рамках текущего документа.
Вывод данных в форматах HTML и JavaScript.
СОЗДАНИЕ ПРОСТОГО ОКНА СООБЩЕНИЙ
Как уже говорилось, используя методы write и writeln объекта document, сцена­рий может помещать текст внутри документа HTML. В зависимости от требова­ний, предъявляемых к сценарию, может возникнуть необходимость вывода со­общения пользователю в диалоговом окне. Для вывода диалогового окна можно использовать функцию alert. Следующий HTML-файл Alert.HTML использует функцию alert для вывода окна с сообщением «Hello, JavaScript*:
<HTML>
<HEADXTITIiE> JSUseTags</TITLEX/HEAD> <BODY>
<SCRIPT LANGUAGE="JavaScript">
<!- Прячем JavaScript
alert("\nHello, JavaScript");
перестаем прятать текст программы —> </SCRIPT> </BODYX/HTML>
Просматривая этот документ с помощью броузера Netscape Navigator, вы увидите диалоговое окно, показанное на рисунке
Вывод диалогового окна с сообщением с помощью функции alert.
С помощью таких диалоговых окон хакер может атаковать вашу систему. На­пример, он может провести атаку отказа служб или подменить диалоговое окно Сохранить как.
ПЕРЕМЕННЫЕ JAVASCRIPT
Для хранения информации в JavaScript используются переменные. В отличие от C/C++, где необходимо указывать тип каждой переменной (например, int, float, char и т. д.), в языке JavaScript это делать не нужно. Вместо этого во время вы­полнения операторов JavaScript броузер сам определяет тип используемой пере­менной.
Имена переменных JavaScript должны начинаться с буквы или символа подчер­кивания .(_) • Более того, имена JavaScript чувствительны к регистру. Это зна­чит, что имена Size, size и SIZE являются различными и каждое из них обознача­ет определенную переменную.
Чтобы объявить в сценарии новую переменную, нужно поставить перед именем переменной ключевое слово var. Например, следующие операторы объявляют несколько переменных:
var BookTitle,  ChapterNumber; var Publisher; var x, y, z;
При объявлении переменной внутри сценария можно использовать оператор «=», чтобы инициализировать переменную:
var BookTitle = "", ChapterNumber - 20; var Publisher = "Jamsa Press"; var x» 1, у = 2, z « 3;
var a, b,  с = 3     //переменной с присвоено значение 3
Как вы увидите далее, в JavaScript можно определять объекты. Чтобы облегчить
работу с символьными строками, в JavaScript есть встроенный объект String.
Как и Java, JavaScript умеет считывать определенные свойства вашей системы. Но в отличие от Java, JavaScript не может открывать прямой сокет (даже для
своего хоста-источника). Однако он способен сохранить эти данные во времен­ном файле, а также сохранить пакетный файл с командами создания сокета. С их помощью программа JavaScript может создать соединение и переслать хакеру данные из временного файла.
ПОЛУЧЕНИЕ  ТЕКСТОВОЮ ВВОДА ПОЛЬЗОВАТЕЛЯ
Как уже говорилось, с помощью форм можно получить от пользователя все виды входных данных: текст, результаты выбора в диалоговом окне и т. д. В зависимости от требований, предъявляемых к сценарию, может понадобиться получить от пользователя строку текста. В этом случае сценарий использует функцию prompt для вывода диалогового окна, которое снабжает пользователя информацией и затем возвращает введенные пользователем данные. Следующий HTML-файл Prompt.HTML иллюстрирует использование функции prompt
<HTML>
<HEADXTITLE>Prompt</TITLEX/HEAD>
<BODY>
. <SCRIPT LANGOAGE=" JavaScript">
<! - Прячем JavaScript var name,  age;
name = prompt("Enter your name:",   "") ; age =   prompt("Enter your age:",   "") ; document.write("<H3>Name:   " + name + "</H3>") ; document.write("<H3>Age:   "      age "</H3>"); ЩВ// перестаем прятать текст программы —> </SCRIPT> </BODYX/HTML>
Просматривая этот файл с помощью броузера Netscape вы увидите
диалоговое окно для каждого из вызовов функции prompt. В этом примере второй параметр этой функции указывает на использование значения по умолчанию.
Формы JavaScript более опасны для пользователя, чем для сервера (в отличие от
сценариев CGI).  Например, форма JavaScript может попросить пользователя
ввести свое имя и другую информацию. В ответ пользователь введет требуемую информацию в отображаемые (видимые) поля формы и щелкнет мышью по кнопке подтверждения. Однако страница хакера также получит эту информацию и по­местит ее в другие, невидимые поля. После нажатия кнопки подтверждения введенная пользователем информация станет доступна хакеру.

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика