Есть некий кроссбраузерный плагин, который работает с криптографией и токенами. Хотим продавать его отдельно от коробочной системы.
Если плагин кто-то покупает под свои нужны, то ничто не помешает его выложить в сеть и им будут пользоваться неправомерно, нарушаю лицензию.
Как в таком случае нам защититься?
Поднять сервер и хранить там список лицензий (ключ, ...). При старте плагина отправлять на свой сервер запрос и указывать, что этот ключ онлайн. При завершении плагина отправлять запрос и указывать, что оффлайн. Как только поступит запрос сделать онлайном ключ, который и так онлайн, значит произошла утечка ключа и он блокируется.
NeonMercury, интересное решение, но… плагин должен отправить на сервер какой-то уникальных запрос или код, чтобы можно было найти ключ и сделать его онлайн или оффлайн.
Если сервер в этот момент будет перегружен или недоступен, тогда пользователь не сможет работать с плагином…
NeonMercury, ну ладно проверки можно делать 15 минут, в принципе это нормально. А как быть и идентификацией плагина? Собирать дистрибутив с каким-то файлом лицензии, чтобы плагин брал из него информацию и отсылал на сервер?
Либо так, либо по-старинке выдавать ключ при покупке, а при первом запуске плагина спрашивать его. Но здесь всё будет защищено, так как проверка корректности ключа будет не в коде у клиента, а на сервере. Единственным очевидным мне вариантом обхода подобной защиты — это поднять простейший сервер на клиентской машине и прописать в hosts ваш сервер проверки лицензий на свой локальный, а на нём отдавать всегда ответ «лицензия действительна». Поэтому надо вводить какие-либо одноразовые токены, шифрование и т.п.
А что если сделать привязку к доменному имени? Ведь этот плагин можно будет использовать только в веб-приложениях… только вот как быть с внутренними ресурсами? В нескольких компаниях внт. домены могут быть похожи… другое дело если это зоны .ru, .com и т.д.
Или это бред?