Как создать безопасное лицензионное приложение Java EE?[закрыто]

StackOverflow https://stackoverflow.com/questions/801458

Вопрос

Мы разрабатываем приложение Java EE, поддерживаемое любой базой данных по выбору клиента.

Мы будем продавать клиентам по цене лицензии за пользователя.Как мне убедиться, что приложение используется в соответствии с нашими условиями, то есть его невозможно взломать?Есть ли какие-либо учебные пособия?

Это было полезно?

Решение

Ответ Билла Карвина был самым полезным из ответов на вопрос, упомянутый в комментариях.Предполагая, что вы примените схему «защиты», постарайтесь сделать минимум.Все остальное имеет тенденцию сильно расстраивать пользователей и приводит к снижению количества повторных заказов и/или увеличению желания взломать вашу разочаровывающую систему.

По вашему вопросу сложно сказать, установит ли каждый пользователь приложение.Если да, то вам, вероятно, просто нужно запросить лицензионный код, чтобы они каким-то образом связались с вами.Если это клиент-сервер, то ваши возможности гораздо более ограничены;на самом деле, я не могу вспомнить ни одного решения, которое я когда-либо разрабатывал в своей голове или сталкивался на практике, которое не было бы массово раздражающий.Вероятно, вы также могли бы использовать здесь решение с кодом лицензии, за исключением того, что код лицензии каким-то образом будет нести полезную нагрузку, которая укажет количество пользователей, за которых они заплатили, а затем запретит создание/использование пользователей сверх этого числа.Однако в этот момент вы действительно идете по той линии разочарования, о которой я упоминал.

Другие советы

Если вы можете запутать — это лучший вариант для начала.Но это может быть болезненно, если вы используете инверсию схем управления (например,весна).Я слышал, что можно также запутать контекст Spring, но никогда не пробовал.Также (просто догадываюсь) могут быть некоторые сюрпризы с отражениями, динамическими прокси и тому подобным.Что касается лицензирования, я могу предложить использовать TrueLicense.Он имеет очень гибкие средства управления различными аспектами защиты, а также бесплатные пробные периоды «из коробки».Работает очень хорошо и имеет отличную документацию.

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

К вашему сведению:Именно так Oracle обычно работает со своим e-Business Suite.Вы можете изменить практически любой компонент, который захотите.Однако удачи в получении поддержки!

Посмотрите, как Atlassian продает свою продукцию.Я считаю, что этот подход работает очень хорошо и, вероятно, подойдет и вам.Примечание:Подписка на обновления должна иметь дополнительную ценность!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top