1. Продумать механизм: Без ввода лицензионного ключа не работает движок. Т.е. требуется, чтобы активация каждой функции требовала наличия некоего ключа, запрашиваемого с сервера каждые несколько минут. Чем сложнее и геморойнее будет взлом, тем меньше шансов, что кто-то будет заморачиваться.
2. Можно организовать запросы поочередно с нескольких внешних IP.
3. Каждая функция должна использовать разные переменные и обращаться напрямую, не через некую единую функцию, иначе просто обойдут её.
4. При установке должна требоваться информация с сервера для подтверждения валидности ключа. Тогда и будешь знать, кто с какого домена.
5. Встроить механизм тихой отправки данных можно, но тогда это должно происходить не сразу, а через какое-то время. И не должна автоматически блокировать домен, иначе быстро раскроют фишку. Лучше втихую отправила данные, ты получил, а потом пишешь владельцам ресурса комм.предложение.