Можно ли скрыть или зашифровать / скрыть код JavaScript веб-страницы? - PullRequest
8 голосов
/ 09 апреля 2009

Я понимаю, что код на стороне клиента должен быть читаемым из браузера, но мне интересно (поскольку я игнорирую слишком много вещей), есть ли способы запутать код для конечного пользователя и, если нет, то каков лучший метод "упаковать" код JavaScript.

Ответы [ 9 ]

8 голосов
/ 09 апреля 2009

Рекомендуется минимизировать JS с помощью такого инструмента, как YUI Compressor . Я бы не запутывал это, если у вас нет особой необходимости делать это. Есть много онлайн-обфускаторов, таких как этот

См. Эту статью: http://developer.yahoo.net/blog/archives/2007/07/high_performanc_8.html

4 голосов
/ 09 апреля 2009

Проверьте это из.

Кроме того, я не думаю, что вы действительно можете скрыть JS. Все это работает в браузере пользователя, и есть множество способов увидеть его, как только он появится.

2 голосов
/ 09 апреля 2009

См. здесь для бесплатного Обфускатора Javascript.

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

Сконцентрируйтесь больше на том, какие услуги вы намереваетесь предоставить тем, кто посещает ваш сайт, чтобы отличить ваш сайт от конкурентов

0 голосов
/ 12 августа 2012

Можно использовать следующие инструменты:

  • YUI Compressor - требуется Java - очень хороший компрессор

  • Упаковщик - создает самый запутанный и самый маленький код, но скрипты не работают так же быстро, как YUI - это можно использовать онлайн. Выберите «Кодировка Base62» для максимального эффекта.

  • Компрессор Dojo Я никогда не использовал этот, но он в топ-листе. Также требуется Java.

  • JSMIN Дуглас Крокфорд, у этого есть очень простой алгоритм, но он все еще хорош. Предназначен для использования в сочетании с JSLint.

0 голосов
/ 11 апреля 2009

Никакое запутывание не сделает ваш код по-настоящему безопасным, и это может просто дать вам ложную иллюзию безопасности (ср. безопасность от неясности ).

Если вам нужно сохранить некоторую часть кода в секрете, рассмотрите возможность включения чувствительных частей в сценарий на стороне сервера и, скажем, AJAX-вызовы сценария. Особенно с появлением JSON, общение с серверными сценариями никогда не было проще.

0 голосов
/ 09 апреля 2009

Шаг 1: Не надо.

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

Если у вас действительно есть ценные бизнес-процессы в вашем JavaScript, значит, вы делаете это неправильно (тм).

0 голосов
/ 09 апреля 2009

Не помещайте конфиденциальную или личную информацию в javascript.

Потратьте свое время на защиту данных на сервере.

0 голосов
/ 09 апреля 2009

Есть ли причина, по которой это не поможет вам?

http://www.javascriptobfuscator.com/

0 голосов
/ 09 апреля 2009

Существуют инструменты , которые можно использовать для сжатия кода JavaScript и затруднения понимания конечным пользователем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...