Никогда не будет 100% безотказного подхода. Все, что угодно может быть переработано, если у вас есть время и ноу-хау.
Но что вы можете сделать, чтобы максимизировать свои шансы не быть взломанным, это использовать какой-то прекомпилятор / обфускатор, например Zend Guard или ionCube (и другие ) для защиты вашего кода. Большинство (все?) Из них поставляются с предварительно созданными функциями лицензирования, что, безусловно, является рекомендуемым подходом.
Проблема в том, что они не бесплатны ...
EDIT
Думая об этом, вы могли бы реализовать что-то подобное самостоятельно, безопасно, в очень избранных обстоятельствах. Если вы разрабатываете что-то, из чего вы можете распространять HipHop двоичные файлы, вы можете реализовать что-то, не опасаясь, что это может быть взломано людьми, которые не совсем серьезно знают, что они делают. HipHop свободно доступен для скачивания с github .
Удаленная проверка базы данных все еще плохая идея, потому что люди могут перехватить сетевой трафик и перепроектировать ключи, или научиться подделывать ответ (простой файл хостов редактирование может перехватить сеть движение). Вам было бы лучше жестко запрограммировать ключ для каждого экземпляра и проверять его при каждом вызове с помощью некоторого алгоритма - этот сайт и Google может вам помочь здесь.