2010-01-26 3 views
4

У меня есть целый ряд jQuery-кода, как мне запретить пользователям видеть фактический код или как я могу зашифровать файл .js.Шифрование javascript-файла jQuery

Пожалуйста, предложите с открытым исходным кодом

Благодаря Жан

[править] Я не хочу, чтобы пользователи знали, как я закодированы или скопировать мой код

[править] После я использую base62 кодируется, может ли быть реконструировано?

+0

Не совсем. Я изучил почти все программы не по школе, а по стремлению учиться. Я ищу такого человека, как вы, чтобы искать, подтягивать его, подавать в суд на парней, которые крадут мой код или кто вступает в мой код, и узнают, как что-то делается. Я не предлагаю приложение с открытым исходным кодом для меня, чтобы дать код открыто. Пожалуйста, все, что я прошу здесь для решения, на мой вопрос, а не 5 строк философского чтения. – X10nD

+1

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

ответ

5

Оформить заявку packer by Dean Edwards. Он имеет возможность кодировать ваш JS. Вы должны позволить своему JS быть читаемым в мире, иначе браузер не смог его загрузить.

+0

base62 encode, было бы просто отлично, я думаю, – X10nD

+0

сделано, спасибо, кажется, работает отлично – X10nD

+3

Использование base62 encode - отличный способ, чтобы ваш скрипт блокировался антивирусными инструментами и сделал вашу веб-страницу похожей на зараженную , Поскольку большинство сценариев, закодированных таким образом, являются эксплоитами браузера, AV-инструменты очень чувствительны к ложным срабатываниям с помощью таких методов. – bobince

4

Вы не можете предотвратить пользователей, которые могут видеть исходный код файла Javascript: он выполняется браузером пользователя, что означает, что он должен быть доступен для чтения на клиентской стороне.

«Лучший» вы можете это сделать minify/obfuscate it; см., например, YUI Compressor, который существует для минимизации JS-файлов (поэтому они меньше и могут быть переданы быстрее), но также имеет некоторые запутывающие функции.

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

0

Вы просто не можете шифровать JavaScript, который выполняется на клиентской машине. Браузеру нужен незашифрованный код для его выполнения!

1

Попробуйте упаковать код с пакером: http://dean.edwards.name/packer/

Это не так, как шифрование кода, но это запутывание кода.

+0

Я скачал php packer, не могли бы вы помочь мне в использовании того же самого. – X10nD

2

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

http://code.google.com/closure/

Closure Compiler компилирует JavaScript в компактный код, он запутывает код, он все еще может быть прочитан, но это будет трудно проследить и потребуется время

1

В шифровании js-файла нет особого смысла, все знают, что вы можете просмотреть исходный код чей-либо веб-сайта. Я считаю, что там есть шифры для javascript, но пользователям придется загружать модуль дешифрования для его расшифровки. Кроме того, поскольку браузеру необходимо интерпретировать код, его, вероятно, не так уж трудно обойти.

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

+0

И поскольку ключи шифрования (и алгоритм) для decryt JS будут доступны конечным клиентам, любой разумный пользователь может потенциально решить, как его расшифровать – saret

0

Это первая вещь, которую я нашел, но похоже, что он может сделать работу:

http://www.vincentcheung.ca/jsencryption/instructions.html

Как уже упоминалось, хотя, браузер должен быть в состоянии расшифровать код, так пользователь также сможет (хотя это может быть некоторая работа для этого).

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

http://www.javascriptobfuscator.com/Default.aspx