Получение информации о клиентской системе из приложения Rails - PullRequest
3 голосов
/ 12 ноября 2008

Можно ли получить CPUID и MAC-адрес клиентского компьютера из приложения Ruby on Rails ?. Есть ли для этого плагины?

Ответы [ 4 ]

6 голосов
/ 12 ноября 2008

Я почти уверен, что невозможно проанализировать файловую систему / proc клиентского компьютера через приложения Rails (и слава Богу за это).

Что вы можете сделать, так это использовать Javascript. В Интернете довольно много сайтов (в основном, сканеров конфиденциальности), которые используют Javascript для отображения обширной информации о клиентской системе. Это может даже работать для типа процессора, используемого клиентом (при условии, что вы имеете в виду «CPUID»).

То, что ни Javascript, ни Rails не могут сделать для вас, это показать вам MAC-адрес клиента (при условии, что под 'macid' вы подразумеваете MAC-адрес). Если вы глубже изучите способ создания сетей TCP / IP, то заметите, что это сделано специально. Компьютер в другом сегменте сети (скажем, в Интернете) никогда не предназначен для того, чтобы знать ваш MAC-адрес и не должен.

Если вы действительно хотите узнать чей-то MAC-адрес, вам нужно использовать что-то вроде апплета Java или элемента управления ActiveX (хотя это ограничивает вас определенной платформой). Эти вещи должны запрашивать у пользователя подтверждение / разрешение перед отправкой конфиденциальной информации, такой как MAC-адреса, что является хорошей идеей.

3 голосов
/ 12 ноября 2008

Ruby on Rails предназначен для написания веб-приложений. Веб-браузеры не просто передадут вам MAC-адрес своего компьютера и CPUID.

2 голосов
/ 07 ноября 2012

Только для записей: если (и только если) сервер и клиент находятся в одном сегменте сети, вы можете - в системе Linux / Un * x - использовать команду arp на сервере и, следовательно, Приложение Rails, чтобы узнать о MAC-адресе клиента, например:

$ arp 192.168.1.1
Address          HWtype  HWaddress           Flags Mask            Iface
192.168.1.1      ether   1c:c6:3c:48:bc:c0   C                     wlan0

Значением в столбце HWaddress является MAC-адрес.

0 голосов
/ 12 ноября 2008

Если компьютеры находятся в локальной сети (интрасети), вы можете использовать ruby ​​для вызова некоторых инструментов администратора командной строки. Например, вы можете сделать обратный поиск по IP-адресу, чтобы получить имя компьютера. Не уверен насчет Mac Address ... Вы можете вызвать vbscript для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...