Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Апплеты > Идентификация клиентской машины по железу


Автор: Greendrake 15.1.2006, 12:34
Можно ли написать апплет, определяющий какие-нибудь уникальные характеристики клиентской машины (MAC-адрес, какие-нибудь ID проца или матери и т. п.), и отправляющий их на сервер? Может, есть готовые примеры?

Автор: LSD 15.1.2006, 13:18
Без использования JNI это очень трудно. Ну MAC адрес еще узнать возможно, а вот с остальным будут проблемы. А тебе это для чего? Идентифицировать клиента или защита от копирования?

Автор: Greendrake 15.1.2006, 16:37
Именно - идентифицировать клиента.
Идея такая - клиент соглашается пользоваться ресурсом только с одной машины. Разрешения на смену машины выдаются индивидуально, с частотой, не превышающей лимит. Разумеется, помимо железа проверяется логин/пароль.
А что есть JNI? Это сложно заюзать в обычном апплете на обычной юзерской машине?
И, может, достаточно будет мак-адреса?

Автор: LSD 15.1.2006, 16:58
Цитата(Greendrake @ 15.1.2006, 16:37 Найти цитируемый пост)
И, может, достаточно будет мак-адреса?

MAC адрес легко сменить и на машинах без сетевой карты его нет, если тебе это не критично, то в остальном он нормально подходит как уникальный идентификатор.

JNI (Java Native Interface) - споб подключать к программам на Java, код написанный на C++.

Автор: COVD 15.1.2006, 21:40
Апплеты придуманы как раз для того, чтобы облегчить доступ к сервису с разных машин - отовсюду, где есть интернет - из офиса, из дома, из интернет-кафе. Если хотите ограничить клиента одной машиной - зачем тогда апплет применять?

Автор: Greendrake 16.1.2006, 12:37
Цитата(COVD @ 15.1.2006, 21:40)
Если хотите ограничить клиента одной машиной - зачем тогда апплет применять?

Потому что лишь только апплет способен идентифицировать машину. Собственно, этим задача апплета и будет ограничиваться.
Никакие другие средства, встраиваемые в веб-страницу, ИМХО, не способны определять железо (впрочем, надо ещё флеш покопать..).

Автор: LSD 16.1.2006, 12:47
Flash сам по себе идентифицировать машину никак не может. Если только из него вызвать нативную функцию, но это как я понял сопряжено некоторым геммороем.

Машину может идентифицировать ActiveX (именно это и делает Genue Advanced), но это решение только под Windows.

Автор: Greendrake 16.1.2006, 14:15
Цитата(LSD @ 16.1.2006, 12:47)
Машину может идентифицировать ActiveX (именно это и делает Genue Advanced), но это решение только под Windows.

Угу, причём только под Internet Explorer. Поэтому и я смотрю на апплеты, т. к. они могут запускаться во всех браузерах.

Автор: LSD 16.1.2006, 14:23
MAC адрес можно узнать и без JNI, а вот серийный номер BIOS или процессора, узнать без JNI не получится. А если будешь использовать JNI то надо будет писать Сишный код под все платформы, которые надо поддерживать, и плю апплет надо подписать будет.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)