@diversant123

Как отследить на каких доменах используется моя CMS?

Подскажите, как реализовать:

Есть свой движок интернет-магазина, некая платформа для разработки, распространяется платно, по лицензии

Хочу отслеживать ее нелегальное использование, как это лучше сделать?

Пока для себя вижу три пути (хочу использовать все одновременно)
- на стороне php (чтоб какой-то системный файл запрашивал файл с моего сервера)
- на стороне js (чтоб какая-то библиотека js отправляла запрос на мой сервер)
- на стороне css (чтоб подгружалась какая-то маленькая картинка с моего сервера)

Все это сделать как можно наиболее "незаметным".

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

Буду рад любому совету. Заранее спасибо.

UPD: Немного уточню вопрос, КАК это реализовать на стороне сервера?
  • Вопрос задан
  • 564 просмотра
Пригласить эксперта
Ответы на вопрос 7
FanatPHP
@FanatPHP
Чебуратор тега РНР
Детский сад, штаны на лямках.
Наивные мечтатели задают этот вопрос уже много лет, но ответ за это время не изменился:

1. Чтобы отсечь нелицензионное использование - никак не отследить. Нулленая версия твоего горе-движка появится в интернете через день после релиза, у которой будет оторваны все проверялки, какие ты только сможешь придумать.
2. Продавать надо не программу а сервис. Размещай свою платформу на своем же сервере и бере помесячную плату за использование. Никаких других вариантов отслеживать использование нет ,и быть не может
Ответ написан
@Nwton
Добавь в свою CMS систему автообновлений, что бы у разработчика не возникло подозрений по поводу странных файлов отправляющих запросы на другие домены. В админке дай возможность это автообновление отключить и все равно продолжай отправлять запросы раз в сутки, запрашивая информацию о новой версии.
Ответ написан
reaferon
@reaferon
Если CMS подразумевает установку, то можно запрос делать разово при установке.
Если подразумевается настройка CMS, то запрос можно делать при выполнении данного действа.
А вообще, если бы меня вот так приперло, я бы сделал установку одним файлом, который подтягивал исходники с моего сервера и разворачивал на сервере клиента. Ну и у себя "галочку" при этом ставил бы.
Ответ написан
Комментировать
Adamos
@Adamos
1. Купивший движок имеет право поставить только одну копию сайта? А как же сервер для разработки и тестирования, например? А если он не имеет выхода в интернет?
2. Что вы будете делать, если ваши скрипты просигналят о нелицензионном использовании? Это, собственно, лучшее, на что вы можете рассчитывать - всякие там "запрещалки" все равно сломают, а вот "стучалку" могут и пропустить. Ну и?
3. Посмотрите вокруг. Где вы видите людей, торгующих движками? Торгуют возможностью обновления, плагинами и прочим сервисом. Знаете, почему?..
Ответ написан
@DobriyJuk
Сетевой инженер, системный администратор
1. Продумать механизм: Без ввода лицензионного ключа не работает движок. Т.е. требуется, чтобы активация каждой функции требовала наличия некоего ключа, запрашиваемого с сервера каждые несколько минут. Чем сложнее и геморойнее будет взлом, тем меньше шансов, что кто-то будет заморачиваться.
2. Можно организовать запросы поочередно с нескольких внешних IP.
3. Каждая функция должна использовать разные переменные и обращаться напрямую, не через некую единую функцию, иначе просто обойдут её.
4. При установке должна требоваться информация с сервера для подтверждения валидности ключа. Тогда и будешь знать, кто с какого домена.
5. Встроить механизм тихой отправки данных можно, но тогда это должно происходить не сразу, а через какое-то время. И не должна автоматически блокировать домен, иначе быстро раскроют фишку. Лучше втихую отправила данные, ты получил, а потом пишешь владельцам ресурса комм.предложение.
Ответ написан
@mudatad
да блин, я конкретно спросил как такое реализовать, а не зачем мне оно надо и прочую философию разовдить


Запросто.
Делаем сервер на базе платформы, которая не требует исходников в production.

1. То есть на компилируемой. И желательно не в byte-code, который легко декомпилируется.
2. Да и для упрощения инсталляции - на компилируемой в native code
3. Как вы догадались уже, это не PHP. Годится C/C++, Go, Haskell. Не годится Java, Python.

Взлом такой штуки - слишком трудоемок.

PHP ломается слишком легко.
То есть вы не сможете поднять цену.
Как только чуть-чуть поднимаете цену - становится выгодно ломать.
А написанное на PHP ломается даже без знания самого PHP, - серьезно.
Ответ написан
Комментировать
@kstyle
делайте запрос php - но только по понедельникам с 8 до 9 (день недели и время определяется по домену).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы