2015-01-07 4 views
-3

Я хочу защитить проект node.js без изменения, поэтому мне приходит в голову идея: уменьшить исходный код.Как защитить проект node.js от обратной инженерии и модификации

Адрес: question О minify javascript файла в одной папке.

Теперь я хочу преуменьшать несколько JavaScript из различных модулей, как показано ниже

var a = require('../app/controller/controller1.js'); 
var b = require('../lib/utils.js'); 
... 

в один файл, это возможно? или есть ли хорошие способы сделать это?

Редактировать Благодаря @Arjun, Шифрование хороший способ сделать это, кажется, что JXcore имеют некоторые проблемы ...

+0

Это на стороне клиента или на стороне сервера код? Если это последний, почему вы хотите его минимизировать? –

+0

Это код на стороне сервера. Поскольку мы хотим доставить коды сервера клиенту, но мы НЕ хотим, чтобы клиент видел исходные коды. – zangw

+3

Невозможно, и вы не должны пытаться. Если вы хотите, чтобы клиент не смог прочитать исходный код, используйте скомпилированный язык. –

ответ

0

Основываясь на комментарий выше,

Вы можете использовать YUICompressor для минификации либо ,

Компрессор YUI написан на Java (требуется Java> = 1.4) и полагается на Rhino для токенизации исходного файла JavaScript. Он начинается с анализа исходного файла JavaScript, чтобы понять, как он структурирован. Затем он печатает поток токенов, опуская как можно больше символов пробела и заменяя все локальные символы символом буквы 1 (или 2 или 3), где бы такая замена не была подходящей (перед лицом злых функций, таких как eval или с помощью YUI Compressor берет защитный подход, не обмагивая ни одну из областей, содержащих злую инструкцию). В алгоритме сжатия CSS используется набор точно настроенных регулярных выражений для сжатия исходного файла CSS. Компрессор YUI с открытым исходным кодом, поэтому не стесняйтесь смотреть на код, чтобы точно понять, как он работает.

Вы можете использовать

java -jar yuicompressor.jar -o .js$:.min.js *.js 

, чтобы Минимизировать все файлы яваскрипта в папке.

Также вы можете интегрировать его с вашим IDEA, что поможет вам автоматизировать мини-классификацию. Это означает, что он минимизирует ваши js и css файлы всякий раз, когда вы меняете код.

YUICompressor для Yahoo фирма. Google также представила Granuale для уточнения

1

Если вы, по соображениям безопасности, минимизируете файлы js, это пустая трата времени, потому что эти мини-файлы могут быть преобразованы обратно в удобочитаемый формат.

Лучшей возможной опцией является использование инструмента JXCore для развертывания. Он зашифрует исходный код приложения в другом формате, который может быть запущен приложением JXCore.

JXCore Website

JXCore Tutorial/intoduction

+0

вам нужен полный доступ к серверу для использования JXCore? – atmd

+0

@atmd, Да, JXCore - это пакет, который должен быть установлен как nodejs. – Arjun

Смежные вопросы