Как я могу скрыть или зашифровать код JavaScript? [дубликат]

Если ваша цель - изоляция, я думаю, Докер - это то, что вам нужно.

Vagrant - менеджер виртуальных машин. Это позволяет вам создавать сценарии конфигурации виртуальной машины, а также инициализации. Тем не менее, это все еще виртуальная машина в зависимости от VirtualBox (или других) с огромными накладными расходами. Это требует, чтобы у вас был файл жесткого диска, который мог бы быть огромным, он занимал много оперативной памяти, а производительность могла быть не очень хорошей.

Docker, с другой стороны, использует ядро ​​cgroup и пространство имен через LXC . Это означает, что вы используете то же ядро, что и хост, и ту же файловую систему. Вы можете использовать Dockerfile с командой docker build для управления подготовкой и настройкой вашего контейнера. У вас есть пример на docs.docker.com о том, как сделать ваш Dockerfile; это очень интуитивно понятно.

Единственная причина, по которой вы можете захотеть использовать Vagrant, заключается в том, что вам нужно заняться разработкой BSD, Windows или другой не-Linux на вашем Ubuntu. В противном случае, перейдите на Докер.

53
задан Samuel Liew 14 July 2015 в 21:28
поделиться

6 ответов

Его можно обфускировать, но полностью защитить его невозможно.

пример обфускатора: https://obfuscator.io

70
ответ дан 7 November 2019 в 08:41
поделиться

Одним из лучших компрессоров (а не обфускатором) является YUI Compressor .

5
ответ дан 7 November 2019 в 08:41
поделиться

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

Есть уловки, которые вы можете использовать. Одним из наиболее очевидных способов является использование обфускатора javascript.

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

Вы можете попробовать скомпилированный сценарий действия в виде флэш-памяти фильм.

6
ответ дан 7 November 2019 в 08:41
поделиться

JavaScript - это язык сценариев, и поэтому он остается в удобочитаемой форме до тех пор, пока не придет время интерпретировать и выполнять его в среде выполнения JavaScript.

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

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

3
ответ дан 7 November 2019 в 08:41
поделиться

Единственный безопасный способ защитить ваш код - не разглашать его. При развертывании клиента невозможно избежать доступа клиента к коду.

Итак, краткий ответ: вы не можете этого сделать

Более длинный ответ касается использования flash или Silverlight. Хотя я верю, что silverlight с радостью раскроет свои секреты с отражателем, работающим на клиенте.

Я не уверен, существует ли что-то подобное с платформой flash.

2
ответ дан 7 November 2019 в 08:41
поделиться

Если у вас есть что-то конкретное, что вы хотите скрыть (например, проприетарный алгоритм), поместите это на сервер или поместите во Flash-ролик и вызовите его с помощью JavaScript. Написание ActionScript очень похоже на написание JavaScript, и вы можете общаться между JavaScript и ActionScript. Вы можете сделать то же самое с Silverlight, но Silverlight не обеспечивает проникновения Flash.

Однако помните, что любые мобильные телефоны могут запускать ваш JavaScript, но не Silverlight или Flash, поэтому вы наносите вред своим мобильным пользователям, если вы использовать Flash или Silverlight.

3
ответ дан 7 November 2019 в 08:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: