2015-07-29 2 views
-1

Для обычного экземпляра NodeJS мы можем запустить его на node server.js. Проблема заключается в том, что на рабочем сервере, когда хакер компрометирует мою машину, они смогут просматривать и копировать весь исходный код на стороне сервера. Это большой риск, поскольку исходный код содержит интеллектуальную собственность. Есть ли способ предотвратить это?Запустите NodeJS-сервер, не подвергая его исходный код

Например, в Java код обычно встроен в пакет jar или .class, и мы используем только встроенный файл. Когда хакер компрометирует машину, они могут видеть только файл jar или .class, который является только байтовым кодом и непонятен.

У меня такая же проблема на моем сервере Python Flask.

+0

https://github.com/crcn/nexe –

+2

* ", который является только байтовым кодом и непонятным" * - неточно, боюсь. Если вы хотите защитить свою интеллектуальную собственность, вам нужно использовать * legal *, not * technical *, значит. – jonrsharpe

ответ

-1

Вы знаете, как легко декомпилировать файлы классов java?

Серьезно, вы вставляете банку в IntelliJ IDEA (или почти любую другую IDE), и она выплескивает декомпилированный код, который достаточно читаем для обратной инженерии. Скомпилированный код предлагает нет Преимущества безопасности по сравнению с интерпретированным кодом.

Вместо того, чтобы пытаться «зашифровать» или «скрыть» ваш код NodeJS, почему бы не защитить сервер лучше? Вы никогда не опережаете людей, которые меняют код вашего кода, вам гораздо лучше защищать коробку, в которой есть шоколад, чем отравлять конфеты.

+0

Я не согласен. Java может быть плохим примером, но C/C++ имеет способ компилировать/упаковывать продукт и выпускать его на рынок. Например, MS Office, когда конечный пользователь использует программное обеспечение, они могут отменить инженерный код MS Office и найти всю сложную для понимания логику и байтовый код. Он гораздо менее серьезен, чем утечка исходного исходного кода. – HenryNguyen

+0

Декомпиляторы все еще существуют. То, что я пытаюсь сделать, - это никогда, никогда не защитите свой код, просто сделав его труднее читать. Вам лучше предотвратить утечку исходного кода *, особенно * в случае чего-то вроде NodeJS, чем пытаться сделать код «нечитаемым». Конечно, существуют минитракторы Javascript, которые немного помогают, и есть способы запутать вещи, но в целом это не должно быть вашим фокусом. – nameless912

+0

@ безымянный912 декомпиляция не является идеальным. Подумайте, есть ли методы обфускации :) –

0

Я смотрю на 3-х альтернатив сейчас и хотелось бы услышать больше на эту тему:

http://jxcore.com/home/ - «JXcore является Node.js вилка с дополнительными функциями.» он также поддерживает запуск кода узлаJS на других платформах

https://jaredallard.me/nexe/ - «Скомпилируйте проект Node.js. На борту нет источников».

http://enclosejs.com/ - «Скомпилируйте проект Node.js. На борту нет источников».

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