Это FAQ здесь, и полученная мудрость заключается в том, что вы ничего не можете сделать. Это имеет смысл, если вы думаете об этом, так как в конечном итоге вы ничего не можете сделать, чтобы кто-то не читал, что делает их компьютер. Если ваш компьютер будет запускать код, он должен быть в приемлемом для компьютера формате, что означает, что независимо от того, как вы пытаетесь скрыть его, его можно декодировать и отображать, как для того, чтобы ваш компьютер мог его понять, он должен соответствовать определенным нерушимые стандарты, которые публикуются и хорошо известны.
Вы можете сделать, если сложно людям, которые в любом случае не знали, что делать с кодом, но любой, кто может использовать ваш код, сможет получить его, если захочет.
Являются ли ваши вещи такими замечательными и инновационными, что вы действительно думаете, что стоит воровать? Например, мне потребовалось почти 10 минут, чтобы понять, как Google сделал это замечательно, и еще 20, чтобы воспроизвести его. По стандартам SO, которые являются чрезвычайно медленными. Я использую эту идею вместе с почти всеми, но я никогда не видел их кода, и было бы скучно, если бы они показали это.
Почему бы не просто привязать пользователей к контракту без обратной обработки? Это, в конце концов, как MS защищает свой IP. Windows достаточно проста, чтобы копировать, если хотите. MS заставляет платить за свой продукт, предоставляя обновления только лицензированным пользователям. Возможно, вы могли бы сделать то же самое.
Задайте себе вопрос, если это действительно необходимо, чтобы код размещался локально. Когда интернет провалился? 3 года назад я испытал сильное землетрясение. Нет электроэнергии, воды или сточных вод в течение 2 недель, но интернет и проводной, и мобильный продолжали работать. Мой компьютер не так, как у меня не было сил, но 3g было просто отлично. Инфраструктура невероятно надежна, и для локального дублирования данных очень мало. Мой опыт был в том, что все, что выбивает Интернет больше, чем временное, скорее всего, будет выбивать любое локальное решение.
И, наконец, если ваши клиенты хотят локально размещенного решения, спросите себя, не стоит ли им этого. Лучший способ помочь им созреть - позволить им увидеть, чего они не хватает.
Caveat - Я действительно дублирую некоторые данные на некоторых локальных системах, но это полезная функция резервного копирования - я разрешаю клиентам просматривать резервные копии данных в случае катастрофического интернет-сбоя, но я им не разрешаю для изменения локально данных, поскольку это отрицает принцип «одной истинной записи», поэтому мы используем облако в первую очередь.
Только люди, читающие код, будут людьми, имеющими доступ к серверу, на котором запущен веб-сайт. Вы предлагаете, чтобы этот веб-сайт работал на машине, доступной другим? –
Является ли ваша цель имитировать безопасность, для практики? – Chris
@ Энтони Это веб-приложение, размещенное на локальном хосте для некоторых клиентов и на веб-сервере для других. – Abdessamad