Как обезопасить JavaScript-код от запуска на другом домене (украденном)?нужно больше идей - PullRequest
0 голосов
/ 23 июля 2011

Во-первых, это может выглядеть как дубликат для

Как предотвратить кражу, копирование и просмотр вашего кода JavaScript?

И другое, но это не так.

Я ищу идеи, которые могут сделать, что кража JS может быть очень сложной

Некоторые из моих примеров:

  • конечно запутанный код
  • используйте document.location проверку, если некоторые буква в домене равна букве в той позиции, где скрипт нормально работает
  • использовать часть этого местоположения в вызове функции, что-то вроде eval ('first_part_of_function_name' + part_from_location + 'third_pard (параметры)');
  • сохраните некоторую важную постоянную потребность в приложении в каком-то элементе вашего дизайна страницы и получите его оттуда в JS, как $('#header div.onright a rel')
  • получить некоторую часть скрипта от AJAX и eval() it
  • добавить в скрипт некоторые ненужные функции, инструкции.
  • проверка на наличие некоторых элементов на странице (авторский текст в нижнем колонтитуле)
  • генерирует некоторый хеш-переменную времени в PHP и помещает в JS, где будет функция, которая проверяет этот хеш и текущее время для работы или нет
  • может быть, использовать другие файлы JS? или события, связанные с элементами, скрытыми в очень распространенных сценариях (например, связать какое-либо действие в файле jquery-min.X.X.X.js, где находится весь jquery.

Это хорошие идеи? Есть еще? Я думаю, что наиболее важным может быть множество вещей, которые вы можете сделать с расположением документа, является ли это единственным элементом, который будет более деликатным, чем работа в обычных кодировках на нашем сайте?

Ответы [ 2 ]

7 голосов
/ 23 июля 2011

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

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

0 голосов
/ 26 июля 2011

Еще один инструмент http://closure -compiler.appspot.com / home

...