JavaScript: Скриваме скрипта от любопитни очи. Такъв пример Как да видите изходния код на страницата за отстраняване на грешки в скрипта

Наташа 31 октомври 2011 г. в 03:10 ч

JavaScript: Скрийте скрипта от любопитни очи

  • Дървена стая *

Искали ли сте някога да скриете от непознати на страницата си скрипт, който внедрява нереално красив външен вид на меню или изпълнява други действия, които не бихте искали да виждате скоро на всеки втори сайт?
Ако отговорът е да, тогава методът, описан в тази статия, ще ви бъде полезен заедно с обфускирането на кода. В същото време веднага ще направя резервация, че методът не е 100%, но може да предпази от повечето непрофесионалисти и някои професионалисти.

теория

Да кажем, че имаме страница nojs.php със скрипт secret.js върху нея, който трябва да бъде скрит. Браузърът и потребителят могат да получат скрипта от сървъра по следните начини:
  1. Зареждане на скрипт директно поставен на страницата или зареден с помощта на DOM;
  2. Преглед на скрипта в прозореца Изходен код на страницата;
  3. Записване на страница с всички файлове на твърдия диск;
  4. Въвеждане на директен URL адрес в адресната лента.
В първия случай браузърът трябва да предаде HTTP заглавката HTTP_REFERER.
Във втория и третия случай той не се предава от всички браузъри (Chrome, FireFox издават предварително заредения скрипт от кеша; Opera, IE изтеглят скрипта отново, но без да изпращат референт).
В четвъртия случай референтът не се предава от нито един от четирите браузъра.
Ако издадем JavaScript динамично с проверка за наличието на референтния хедър в заявката, тогава веднага ще се защитим от Opera и IE, но за Crome и Firefox ще трябва да измислим нещо сложно. Първо ще изтеглим един скрипт, който от своя страна ще изтегли друг скрипт, докато и двете изтегляния ще бъдат проверени за наличието на http-referer. Научно е установено, че ако динамично създадете скрипт на страницата document.createElement ("скрипт") и след това го премахнете от страницата, скриптът ще работи както обикновено, но няма да бъде запазен.

Практика

nojs.php
Тази страница има за цел да изтегли script1.php
Намерете JS
След 10 секунди трябва да видите работата на скрития скрипт под формата на алергия, щракнете върху връзката след предупреждението, за да се уверите, че и събитията не са отпаднали. От тази връзка можете да видите скрития скрипт
script1.php
Неговата задача е да зарежда динамично script2.php, ако има референтен хедър. Времето за изчакване може да бъде намалено в зависимост от приблизителното време за изпълнение на скрития скрипт.
script2.php
Неговата задача: да издаде окончателния скрипт, ако има референтен заглавка

Резултати

В резултат на това получаваме, че не можем нито да видим страницата в изходния код, нито да изтеглим, нито да запазим скрития скрипт с помощта на тестваните четири браузъра. Като цяло можете да го видите по два начина:
  • Следвайте връзката, която директно води към script2.php и се намира на страницата на нашия сайт;
  • Формиране на http заявка с посочената в нея референтна заглавка.
Можете да увеличите ефективността на скриването чрез следните методи:
  1. Използвайки mod-rewrite, заменете script1.js и script2.js, отиващи към сървъра, съответно с script1.php и script2.php, така че страницата да съдържа познати js файлове за всички, тъй като php е поразителен;
  2. Направете фиктивния скрипт възможно най-сложен, правдоподобен и объркващ, така че човекът, който се опитва да го разглоби, да страда много, преди да разбере, че е измамен;
  3. Замъгляване на кода.

Искали ли сте някога да скриете от непознати на страницата си скрипт, който внедрява нереално красив външен вид на меню или изпълнява други действия, които не бихте искали да виждате скоро на всеки втори сайт?
Ако отговорът е да, тогава методът, описан в тази статия, ще ви бъде полезен заедно с обфускирането на кода. В същото време веднага ще направя резервация, че методът не е 100%, но може да предпази от повечето непрофесионалисти и някои професионалисти.

теория

Да кажем, че имаме страница nojs.php със скрипт secret.js върху нея, който трябва да бъде скрит. Браузърът и потребителят могат да получат скрипта от сървъра по следните начини:
  1. Зареждане на скрипт директно поставен на страницата или зареден с помощта на DOM;
  2. Преглед на скрипта в прозореца Изходен код на страницата;
  3. Записване на страница с всички файлове на твърдия диск;
  4. Въвеждане на директен URL адрес в адресната лента.
В първия случай браузърът трябва да предаде HTTP заглавката HTTP_REFERER.
Във втория и третия случай той не се предава от всички браузъри (Chrome, FireFox издават предварително заредения скрипт от кеша; Opera, IE изтеглят скрипта отново, но без да изпращат референт).
В четвъртия случай референтът не се предава от нито един от четирите браузъра.
Ако издадем JavaScript динамично с проверка за наличието на референтния хедър в заявката, тогава веднага ще се защитим от Opera и IE, но за Crome и Firefox ще трябва да измислим нещо сложно. Първо ще изтеглим един скрипт, който от своя страна ще изтегли друг скрипт, докато и двете изтегляния ще бъдат проверени за наличието на http-referer. Научно е установено, че ако динамично създадете скрипт на страницата document.createElement ("скрипт") и след това го премахнете от страницата, скриптът ще работи както обикновено, но няма да бъде запазен.

Практика

nojs.php
Тази страница има за цел да изтегли script1.php
Намерете JS
След 10 секунди трябва да видите работата на скрития скрипт под формата на алергия, щракнете върху връзката след предупреждението, за да се уверите, че и събитията не са отпаднали. От тази връзка можете да видите скрития скрипт
script1.php
Неговата задача е да зарежда динамично script2.php, ако има референтен хедър. Времето за изчакване може да бъде намалено в зависимост от приблизителното време за изпълнение на скрития скрипт.
script2.php
Неговата задача: да издаде окончателния скрипт, ако има референтен заглавка

Резултати

В резултат на това получаваме, че не можем нито да видим страницата в изходния код, нито да изтеглим, нито да запазим скрития скрипт с помощта на тестваните четири браузъра. Като цяло можете да го видите по два начина:
  • Следвайте връзката, която директно води към script2.php и се намира на страницата на нашия сайт;
  • Формиране на http заявка с посочената в нея референтна заглавка.
Можете да увеличите ефективността на скриването чрез следните методи:
  1. Използвайки mod-rewrite, заменете script1.js и script2.js, отиващи към сървъра, съответно с script1.php и script2.php, така че страницата да съдържа познати js файлове за всички, тъй като php е поразителен;
  2. Направете фиктивния скрипт възможно най-сложен, правдоподобен и объркващ, така че човекът, който се опитва да го разглоби, да страда много, преди да разбере, че е измамен;
  3. Замъгляване на кода.

И така, вече разбрахме, че основното използване на скриптовете в JavaScript е в Интернет. Надявам се да знаете поне в общи линии. Няма да говоря за това.

Най-простият интернет сайт се състои от една или повече уеб страници (уеб страници,).

За да използвате JavaScript скриптове, трябва по някакъв начин да вградите изходния код на скрипта в уеб страницата.

Ето за това ще ви разкажа днес.

Така че скрипт в тялото на HTML страница може да бъде вмъкнат почти навсякъде.

Ако вмъкнете функция, тогава е по-добре да я поставите в заглавката на страницата. Тоест някъде по средата

... .

Самият скрипт се поставя между таговете

Тук като параметър на отварящия таг

Както казах, скриптът може да се вмъкне навсякъде на страницата. Въпреки това, ако направите това между тагове, тогава изходният код на скрипта ще бъде видим за потребителя. Това, разбира се, обикновено не е необходимо.

Към текст програмен кодне е показан от браузъра, изходният код трябва да бъде написан като HTML коментар за маркиране, тоест между знаците

Тоест така:

Но има още един трик. Особено глупавите браузъри не разбират символа ->. Ето защо, за да се гарантира, че кодът не е видим за потребителя във всички браузъри, се препоръчва да направите това:

ЗАБЕЛЕЖКА
Почти всички съвременни браузъри ще работят добре, дори ако не използвате знаци за коментари във вашата HTML маркировка. Въпреки това е по-добре да направите това, тъй като потребителят може да се окаже със стар браузър.

Е, сега за пример за проста HTML страница с вграден JavaScript:

Създайте текстов файл, променете разширението му (не трябва да е txt, а htm или html), вмъкнете горния текст и запазете.

След това просто щракнете двукратно върху този файл, за да го стартирате. Вашият браузър по подразбиране ще се отвори и ще се появи съобщението „Моят първи скрипт на уеб страница!

Както може би се досещате, HTML страниците и вградените в тях скриптове могат да се изпълняват на компютъра на потребителя, дори и да няма интернет връзка. Това означава, че ...

ВНИМАНИЕ!
С JavaScript можете да пишете програми, които се изпълняват на компютъра на потребителя. освен това изобщо няма значение какво е неговото операционна система! Основното е, че браузърът му поддържа скриптове. И нямате нужда от специални инструменти за разработка, които струват луди пари - достатъчно е само текстов редактор!

Много е просто - просто щракнете с десния бутон върху него и изберете съответния елемент от контекстното меню. Формулировката може да се различава в зависимост от използвания браузър: в Mozilla Firefoxтова се нарича "Оригинал", в Apple Safari - "Преглед на източника", в Google Chrome- "Преглед на кода на страницата", в Opera - "Изходен код", в Internet Explorer- „Преглед на HTML кода“.

Изходният код на скриптове от страна на сървъра, които формират HTML-кода на страницата с нормално конфигурирана сървърна страна софтуер, няма да можете да получите проста заявка. Можете да видите изходния код на PHP или Perl скриптове само като изтеглите техните файлове чрез FTP протокола или чрез файловия мениджър на хостинг контролния панел или системата за управление на съдържанието. Можете да отваряте такива файлове с обичайните текстов редактор.

Изходният код на скриптовете от страна на клиента, които се изпълняват директно в браузъра (например JavaScript), може да се види чрез извличане на техните файлове от кеша на браузъра. И още по-лесно - запазете страницата с всички придружаващи файлове на определено място. В този случай не е нужно да копаете всичко, което се съхранява в кеша. За да направите това, във всеки браузър натиснете клавишната комбинация CTRL + S и след това изберете „Пълна уеб страница“ в полето „Тип на файла“. Можете също да отваряте файлове с разширението js, съдържащи изходния код на скрипта с обикновен текстов редактор.

Изходният код на Flash филмите, които се изтеглят от браузъра на вашия компютър, не е толкова лесен за гледане. Браузърът получава не изходния код, а само компилираната му версия - изпълнимия код. Въпреки това, има програми за декомпилиране, които са в състояние да изпълнят процедурата за обратно преобразуване. Например Flash Decompiler Trillix се интегрира във вашия браузър и ви позволява да извлечете Flash обект от страница и да го запишете. След като отворите флаш в декомпилатора, ще получите достъп до отделните му компоненти – изображения, скриптове, звуци и т.н. Разбира се, този код няма да съответства напълно на източниците на автора, но само с достатъчна степен на точност, за да функционира.

„Източник“ най-често се нарича код на програма на разбираем от човека (високо ниво) език за програмиране. С този код можете да правите промени в програмата (скрипт, флаш филм, java приложение, приложна програма и т.н.). Авторът или разпространителят на програмата сам решава дали да разпространява изходния код заедно с готовия продукт. Има цял клас приложения, които се разпространяват с "отворен код", изходният код на други програми (например JavaScript-скриптове или HTML-страници) по дефиниция не може да бъде скрит, а изходният код на други програми е предмет на авторски права.

Инструкции

Вземете изходния код на приложението с отворен код от сайта на автора или разпространителя на това софтуерен продукт... Обикновено можете да разберете адреса на сайта в секцията на менюто с името "Помощ", ако изберете елемента "За" в него.

Щракнете с десния бутон върху уеб страница, ако искате да получите достъп до нейния изходен код. Във всеки браузър падащото контекстно меню ще съдържа командата view source, въпреки че нейната формулировка може леко да се различава. Можете да направите без контекстното меню - клавишната комбинация ctrl + u дублира извикването на командата за изглед на източника. Някои от браузърите имат вградени инструменти за сърфиране (Mozilla Firefox, Google Chrome), други използват външни програми за това - най-често Notepad. Можете да запишете източника на страницата, получен по този начин, във файл.



Свързани статии: