Как препятствовать тому, чтобы Ваш код JavaScript был украден, скопированный, и просмотрен? [закрытый]

С поддержкой CSS3, реализовываемого в более новых версиях Firefox, Safari и Chrome, также будет полезно посмотреть "на Радиус Границы".

-moz-border-radius: 10px;  
-webkit-border-radius: 10px;  
border-radius: 10px;

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

-moz-border-radius-topleft: 10px;  
-moz-border-radius-topright: 7px;  
-moz-border-radius-bottomleft: 5px;  
-moz-border-radius-bottomright: 3px;  
-webkit-border-top-right-radius: 10px;  
-webkit-border-top-left-radius: 7px;  
-webkit-border-bottom-left-radius: 5px;  
-webkit-border-bottom-right-radius: 3px;
27
задан Yi Jiang 19 January 2011 в 05:02
поделиться

7 ответов

Вы можете скрыть свой Javascript. Для этого существует множество инструментов, например http://www.javascriptobfuscator.com/ . Однако это не мешает кому-либо увидеть код, но затрудняет чтение.

20
ответ дан 28 November 2019 в 04:02
поделиться

Это просто невозможно.

Чтобы браузер посетителя мог выполнить сценарий, он должен иметь возможность его загрузить. Независимо от того, какие уловки вы пытаетесь использовать с JS, разрешениями сервера и т. Д., В конце концов они всегда могут просто wget http://example.com/yourcoolscript.js. И даже если они не могут (например, вам требуются «секретные» заголовки для этого запроса), это, скорее всего, будет препятствовать поведению большинства браузеров, не останавливая при этом решительный человек от просмотра.

По сути, поскольку JS выполняется клиентом - сторона, клиент должен иметь доступ к "исходному" файлу JS.

Вы можете сделать еще одну незначительную вещь - обфускацию, которая может немного помочь. Но поскольку JS интерпретируется, это ' s также свой собственный деобфускатор - см. один из моих предыдущих ответов для примера.

В основном - «если вы его построите, они будут смотреть». : -)

46
ответ дан 28 November 2019 в 04:02
поделиться

Если у вас есть большие секреты, храните их на сервере.

Затем объедините все ваши JS-файлы в один файл, который вы запутаете.
Это должно помешать многим людям пойти дальше, а также уменьшить размер и количество HTTP-вызовов.
Но это не остановит настоящего плохого парня, если он вообще есть.

Мы создаем тяжелое JS-приложение и давно вылечили эту паранойю.
На самом деле, мы поступили наоборот.

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

15
ответ дан 28 November 2019 в 04:02
поделиться

Это пустая трата времени, особенно в современных браузерах.

Я могу использовать Firebug, чтобы увидеть somesecret.js ... Что касается другого, мне лучше, если бы вы прокручивали вниз вы увидите исходный код.

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

5
ответ дан 28 November 2019 в 04:02
поделиться

Что ж, если вы владеете сервером, вы можете запретить доступ другим ссылкам, кроме вашего собственного имени хоста. В Apache вы можете сделать это через .htaccess.

Вы также можете использовать упаковщик Дина Эдвардса для упаковки ваших производственных кодов Javascript.

Но обратите внимание, что с Firebug или другими инструментами отладки большинство люди по-прежнему могут видеть ваш код через вкладку / инспектор DOM.

2
ответ дан 28 November 2019 в 04:02
поделиться

Есть два типа пользователей: есть большая группа, которой все равно. Не нужно защищаться от них.

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

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

Если вы боитесь, что ваши идеи сбудутся. быть украденным, тогда ищите новую работу, потому что они будут, и вы ничего не сможете сделать.

вы можете только проиграть.

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

Если вы боитесь, что ваши идеи сбудутся. быть украденным, тогда ищите новую работу, потому что они будут, и вы ничего не сможете сделать.

вы можете только проиграть.

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

Если вы боитесь, что ваши идеи сбудутся. быть украденным, то ищите новую работу, потому что они будут, и вы ничего не сможете сделать.

31
ответ дан 28 November 2019 в 04:02
поделиться

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

Мы снова и снова видим, что технологические методы защиты такие вещи не работают.

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

Если вам действительно нужно защитить код от просмотра, не делайте этого на стороне клиента JS. Положите его на сервер и просто используйте JS для связи с ним.

5
ответ дан 28 November 2019 в 04:02
поделиться
Другие вопросы по тегам:

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