Итак, обычно обфускаторы минимизируют код и, возможно, делают вещи более неясными. Как уже хорошо известно в Интернете, вы не можете предотвратить взлом видимого исходного кода (например, JavaScript в браузере) или даже любой код, выполняемый на клиентском компьютере. Не только это, но есть деобфускаторы и логические элементы кода (например, JSNice ), которые делают просмотр и понимание исходного кода необычайно простым.
Что если ваша цель, однако, будет простосделать чрезвычайно трудным подделку кода или, может быть, даже украсть код и разместить его на другом сайте ? Цель состоит в том, чтобы удержать людей настолько, чтобы они скорее переписали код с нуля, чем украли или вмешались в вашу существующую работу.
Какие методы можно использовать для эффективного выполнения этого? (Меня также интересуют любые четко определенные концепции в этой области.) Правила таковы:
- Не может существенно затормозить код на стороне клиента, так что он медленнее на медленных компьютерах.
- Разрешается использовать серверный код любым способом, например, отправлять клиенту различные варианты кода, отправлять хеш-строки и т. Д. (Это, конечно, не означает полную замену клиента;взаимодействие с пользователем и т. д.)
- Допустимо регулярное время загрузки в несколько секунд или менее.
- Браузер JavaScript является предпочтительным языком / средой ответа, но есть и другие идеи, такие как размещение JavaScript в клиенте. Приложение или использование стандартного клиента также приветствуются.