Обфускатор JavaScript
Обфускатор JavaScript - это метод, затрудняющий понимание исходного кода javascript или обратный инжиниринг. Это обеспечивает защиту интеллектуальной собственности исходного кода при отправке заказчику или конечному пользователю.
Вот два основных алгоритма, реализованных в алгоритме JavaScript Obfuscator.
1) Измените имя функции JavaScript.
Например,
From
funtion Store(id) { alert(id); }
to
funtion d(c) { alert(c); }
Обычно JavaScript Obfuscator меняет имя функции на более короткое, непонятное и бессмысленное имя. Это как в примере выше.
2) Измените ASCII на другой формат
Здесь я покажу, как преобразовать ASCII в восьмеричное число.
Например,
From
alert("Hello World");
to
alert("\110\145\154\154\157 \127\157\162\154\144");
Выше приведены два основных алгоритма javaScript Obfuscator, которые можно легко реализовать или даже выполнить обратный инжиниринг. Однако он дает общее представление о том, что такое JavaScript Obfuscator.
Personal Perspective
Лично я не согласен помещать какую-либо бизнес-логику в JavaScript, мы должны поместить всю бизнес-логику на уровень сервера, а не на уровень клиентского сайта. Бизнес-логика в javascript затруднит обслуживание системы или программы, и это просто приведет к утечке слишком большого количества информации исходного кода для конечного пользователя. Утечка исходного кода - серьезная проблема безопасности, мы должны серьезно заняться этим и избегать включения важной логики в JavaScript.
Ссылка
Вот обфускатор JavaScript с открытым исходным кодом, написанный на Java, пожалуйста, взгляните на него.
http://daven.se/usefulstuff/javascript-obfuscator.html
Free JavaScript Obfuscator
Html Guardian - отличный инструмент для шифрования исходного кода HTML, ASP, PHP, скриптов, таблиц стилей. Защита изображений для вашего сайта.
Даже Html Guardian сказал, что функция, которую они предоставили в javascript, - это шифрование, однако я все еще думаю, что это метод обфускатора.
Commercial JavaScript Obfuscator
Он действительно предоставляет некий уникальный алгоритм, делающий исходный код очень трудным для понимания или обратного проектирования.