Вам не нужна вся база данных для хранения одного лицензионного ключа - кроме того, если у пользователя нет плагинов / надстроек, невозможно хранить произвольную информацию на клиентском ПК через веб-браузер (по крайней мере, до HTML5 более широко принят).
Flash может сделать это, как и Google Gears и различные подобные плагины - но не изначально.
Кроме того, что мешает пользователю передать ключ с одного компьютера на другой?
Вам лучше использовать метод «дактилоскопии» - собрать некоторую уникальную информацию о машине, хэшировать ее и сохранить хэш рядом с информацией о лицензии в ВАШЕЙ базе данных. Таким образом, когда клиент подключается, вы можете проверить правильность ахш, прежде чем разрешить доступ.
Хитрость в том, что хэшировать и как получить - вам нужно выбрать что-то, к чему вы можете легко получить доступ, ОЧЕНЬ вряд ли изменится и не зависит от ПК.
Не забывайте, что ЛЮБУЮ информацию с клиентского ПК следует рассматривать как подозрительную / вредоносную. Если клиент будет каждый раз отправлять вам ключ продукта, потребуется только один прокси / анализатор пакетов, чтобы позволить кому-то на другом компьютере его подделать.
Короткий ответ: это невозможно сделать надежно и надежно - если бы это было возможно, не было бы никакого компьютерного пиратства. Какой бы подход вы ни предложили, он должен полностью полагаться на решения на стороне сервера, и вы хотите сделать его как можно более сложным для перехвата сообщений аутентификации (SSL по крайней мере по крайней мере ).
И последнее замечание - притворяться, что каждый клиентский компьютер является злонамеренным хакером - если хакер знает ключ продукта, он может его скопировать - так что не давайте им ключ, дайте им случайный хэш, который при просмотре внутри вашего Система находит ключ. Таким образом, вы можете отключить / обновить хэши, если они скомпрометированы, без необходимости изменения базового ключа продукта