По всім питанням пишіть на webmaster@master-web.com.ua. Ви можете вільно використовувати/розміщувати /передруковувати статті сайта всього лиш зазначивши посилання на джерело.
Способи захисту javascript кода
Захист та ускладнення javascript кода
Опубліковано: 08 грудня 2008
Створюючи свій сайт кожний програміст рано або пізно зіштовхується з питанням: а чи можна захистити свій сайт від копіювання?
Звичайно, тут потрібно розділити своє бажання захистити сайт на кілька деталей і розібратися, що саме Ви хочете захистити. Якщо умовно поділити області інформації, які бажано захистити, то отримаємо такі фрагменти:
1. захистити сторінки й текст на цих сторінках, це ж означає захистити html код;
2. захистити код javascript від перегляду;
3. захистити скрипти з кодом php на самому сервері
У даній статті я торкнуся питання про способи захисту js коду. А що стосується захисту html і php коду, то постараюся присвятити цим питанням свої наступні статті.
Отже, почнемо відразу з головної відповіді на питання про те чи можна захистити js код від перегляду. Відповідь негативна - поки ще не існує універсального способу, що дозволяє сховати код js від будь-якого бажаючого його подивитися відвідувача. Але, існує маса способів зробити практично неможливим зрозуміти логіку й читабельність js коду, який можна піддати різного виду хитрим модифікаціям.
Коротше кажучи, його можна зробити незрозумілим і таким, що не читається.
В інтернеті існує кілька основних способів модифікації javascript коду:
- заміна імен функцій і змінних на випадкові;
- видалення коментарів і перетворення скрипта в безперервний рядок;
- шифрування окремих функцій і всього скрипта.
Як ви розумієте, якщо не можна захистити свій js код на 100%, то необхідно ускладнити його хоча б на 99%.
Перейдемо до інструментів, які це можуть зробити. Існує кілька видів програмних засобів для ускладнення коду javascript:
1. спеціальні програми для захисту javascript коду (HTMLCrypt, Java Script Mutator, Jasob, HTML Guardian і інші). Такі програми можуть шифрувати не тільки javascript код, але й код html, запихаючи його в змінні js. До плюсів цього способу захисту можна віднести різні ступені шифрування, потужні алгоритми шифровки, зручність і швидкість. До мінусів: не завжди виходить кросбраузерність та й програми поширюються не безкоштовно.
2. спеціальні сайти сервіси, на яких Ви можете безкоштовно зашифрувати свій javascript файл за допомогою javascript компресорів. Найбільш популярними із них є:
- http://dean.edwards.name/packer/
- http://javascriptobfuscator.com
- http://sure-in.com/htmlcoder.htm
Плюсами такого способу є безкоштовна можливість і нічим не гірше платних програм ступінь захисту javascript файлів. Мінус: далекість сервісу, постійне відвідування сайту й нове перекодування скриптів. Ще, також, у мінус можна віднести невідомий алгоритм шифрування віддаленого javascript компресора. Хто знає, що понапихали у Ваш файл і чи не можна його спокійно розшифрувати іншим сервісом із цього сайту.
3. створити самому або скачати php бібліотеку (клас), що буде перебувати на Вашому сервері й автоматично буде шифрувати необхідні javascript файли. Плюс: безкоштовний і зрозумілий js компресор, який Ви можете використовувати за своїм розсудом. Таких бібліотек в інтернеті небагато, але Ви можете безкоштовно їх скачати тут:
- http://joliclic.free.fr/php/ javascript-packer/en/
- http://phpclasses.segmenta.ru/browse/package/4818.html
Не важко зрозуміти, що з перерахованих вище способів захисту самим ідеальним варіантом буде третій. Ну, а що стосується ефективності перерахованого вище, то про це Вам не зможуть сказати навіть розроблювачі цих програм.
Семен Горбунков. Всі права захищені, 2007-2008рр.
Статті: всього 52, на модерації 79; коментарів 72; посилань: всього 3, нових 0; виконано за 0.12 sec.