Как сохранить файл SDF на клиентском компьютере через веб-приложение? - PullRequest
2 голосов
/ 05 января 2012

Мне нужны ваши ценные материалы для моего веб-приложения.

Дело в том, что мне нужно хранить базу данных SDF, чтобы я мог отслеживать пользователя, на каком компьютере он активировал продукт. Если пользователь активировал продукт на компьютере A, я должен сохранить ключ продукта на этом компьютере.

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

PS:

Причина, по которой я пытаюсь сохранить БД на клиентском компьютере, - месяц назад Я попытался захватить MAC-адрес , но не нашел никакого решения.

Пожалуйста, дайте мне ваши идеи относительно решения для доступа к локальной БД или получения MAC-адреса клиентского компьютера.

1 Ответ

1 голос
/ 09 февраля 2012

Вам не нужна вся база данных для хранения одного лицензионного ключа - кроме того, если у пользователя нет плагинов / надстроек, невозможно хранить произвольную информацию на клиентском ПК через веб-браузер (по крайней мере, до HTML5 более широко принят).

Flash может сделать это, как и Google Gears и различные подобные плагины - но не изначально.

Кроме того, что мешает пользователю передать ключ с одного компьютера на другой?

Вам лучше использовать метод «дактилоскопии» - собрать некоторую уникальную информацию о машине, хэшировать ее и сохранить хэш рядом с информацией о лицензии в ВАШЕЙ базе данных. Таким образом, когда клиент подключается, вы можете проверить правильность ахш, прежде чем разрешить доступ.

Хитрость в том, что хэшировать и как получить - вам нужно выбрать что-то, к чему вы можете легко получить доступ, ОЧЕНЬ вряд ли изменится и не зависит от ПК.

Не забывайте, что ЛЮБУЮ информацию с клиентского ПК следует рассматривать как подозрительную / вредоносную. Если клиент будет каждый раз отправлять вам ключ продукта, потребуется только один прокси / анализатор пакетов, чтобы позволить кому-то на другом компьютере его подделать.

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

И последнее замечание - притворяться, что каждый клиентский компьютер является злонамеренным хакером - если хакер знает ключ продукта, он может его скопировать - так что не давайте им ключ, дайте им случайный хэш, который при просмотре внутри вашего Система находит ключ. Таким образом, вы можете отключить / обновить хэши, если они скомпрометированы, без необходимости изменения базового ключа продукта

...