Как библиотека javascript, такая как canvasjs, может управлять пробным периодом - PullRequest
0 голосов
/ 19 сентября 2018

Отказ от ответственности: Я не хочу, чтобы взломал canvasJS или не платил за это.Мне просто любопытно, какой метод используется для управления лицензиями

CanvasJS поставляется с 30-дневной пробной лицензией, но как это время управляется?

Поскольку файл загружается непосредственно с клиента на сервер холста (без какой-либо информации о моем сервере приложений), как им удается узнать, что мой сервер приложений использует canvasJS более 30 дней?

Кроме того, если сайт A использует платную версию canvasJS, как ему удается избежать использования людьми javascript на любом другом веб-сайте?

1 Ответ

0 голосов
/ 19 сентября 2018

После загрузки CanvasJS и (быстрого) просмотра кода, я не вижу очевидного способа, которым он мог бы контролировать ни пробный период, ни несанкционированное использование (злоупотребление).

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

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

Но не имеет значения, насколько продвинута техника, которую мы применяем в javascript: слабостьвсе эти возможные методы заключаются в том, что все функции защиты авторских прав должны быть закодированы в javascript , который в конце исполняется в браузере клиента: таким образом, в распоряжении хакера для «декомпиляции», изменения и кражиэтот код.Таким образом, все эти методы должны обязательно основываться на сильной обфускации исходного кода , чтобы помешать хакерам понять код и найти основные функциональные возможности.Но в конце концов только запутывание не дает никакой защиты.

...