2009-06-25 5 views
2

Я создаю EventLog, который будет регистрировать журнал транзакций на моем веб-сайте. Сведения о журнале будут включать общедоступный IP-адрес, из которого была совершена транзакция, а также локальный IP-адрес (под открытым IP-адресом).Как получить уникальный идентификатор клиента на сервере?

Я нашел способы получить общедоступный IP-адрес, но я не могу узнать местный IP-адрес или IP-адрес компьютера, с которого совершена транзакция.

Большое количество записей будут сделаны людьми, использующими то же соединение. т.е. 5 или 10 компьютеров, подключенных к одному и тому же соединению.

мне нужно найти IP машины (192.168.0.1 1 системы 192.168.0.2 для следующего) машин, производящих операции, а также имя компьютера ...

Возможно ли это

ответ

4

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

Вы делаете это исключительно для того, чтобы различать разных пользователей?

Можете ли вы использовать другой метод, например, куки?

1

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

1

К сожалению, ответ отрицательный. Ни один современный браузер не представит этот частный адрес в транзакции HTTP. Маршрутизатор клиента, который выполняет NAT (трансляция сетевых адресов), предлагает IP-адрес публичного клиента при создании IP-соединения.

0

Ну да, мы делаем это только для дифференциации между компьютерами, чтобы знать, кто делает запись ...

Так вы, ребята говорят, что отслеживание IP не очень надежно там любые другие методы, которые я могу использовать, чтобы сделать то же самое

Мне просто нужно знать, с какого компьютера вводится каждая запись.

Любые предложения будут приветствоваться

+0

Вы должны были отредактировать свой оригинальный вопрос, чтобы добавить это. Это не дискуссионный форум, и это не ответ. Это должен быть ответ, но он не отвечает на ваш вопрос. –

0

Вы делаете ложное предположение о том, что есть способ узнать, с какого компьютера вводится каждая запись. Никто не может гарантировать, что эта информация существует. Часто этого не будет.

Единственный способ убедиться, что каждый компьютер уникально идентифицирован, чтобы вы его идентифицировали. Вы можете сделать это через сертификаты клиентов, например. В общем, если вы хотите, чтобы каждый компьютер имел уникальный идентификатор, вам нужно создать уникальный идентификатор, а затем поместить его на этот компьютер. Затем вам понадобится компьютер для отправки этого идентификатора.

Для компьютеров нет другого уникального идентификатора.

0

Это, вероятно, далеко за пределы того, что вы ищете, но это делает для интересного чтения: Remote physical device fingerprinting

Это позволяет однозначно идентифицировать удаленное физическое устройство без его сотрудничества, через NAT или то, что вы можете себе представить ,

Смежные вопросы