Как определить с какого компа подключился клиент (за NAT) (+)

rubalex

Новичок
Как определить с какого компа подключился клиент (за NAT) (+)

Локальная сеть выходит в инет через NAT. сервер Apache+PHP в инете. каким образом мне определить с какой машины было подключение??

В каких случаях и как все таки можно идентифицировать пользователя по компьютеру?

Можно ли как то использовать яваскрипт выполняемы на клиентской стороне чтобы заполучить идентификатор компьютера?
 

Alexandre

PHPПенсионер
проведи маленький эксперимент с phpinfo()

-~{}~ 12.05.05 16:39:

В каких случаях и как все таки можно идентифицировать пользователя по компьютеру?
если комп в локальной секти + IIS, томожно определить с помощью расширения, которое определит имя машины (хоста), с которой был послан запрос. Наверно, такое же расширение можно написать и для Апача под Win.

в остальных случаях - ни как.

-~{}~ 12.05.05 16:41:

вариант 2 (медленный и геморойный) используй ссл, и сертификаты пользователей, за то имеешь 100% уверенность аутентификации .

-~{}~ 12.05.05 16:44:

вариант 3, но не дает 100% уверенности - писать каждому юзеру куку, и по ней отслеживать посещения
 

neko

tеam neko
> Можно ли как то использовать яваскрипт выполняемы на
> клиентской стороне чтобы заполучить идентификатор
> компьютера?

я думаю нельзя.
с другой стороны допустим можно получить его внутренний ip.
а тут сюрприз, он за 2-мя nat'ами оказался

> В каких случаях и как все таки можно идентифицировать
> пользователя по компьютеру?

это можно сделать только если ты сам выдаешь эти адреса
и то это будет не по "компьютеру" а по сетевой карте
в локальной сети

-~{}~ 13.05.05 11:05:

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

alexhemp

Новичок
neko

Proxy и NAT вообще разные вещи. Прокси-сервера могут добавлять свои заголовки типа "X_HTTP_FORWARDED_FOR" по своей доброй воле. А могут и не добавлять.


rubalex
Точно идентифицировать пользователя можно только выдав им уникальные идентификаторы и обеспечить заobne от их подделки (сертификаты).

Можешь написать ActiveX компонент, он сможет собрать информацию о компьютере. Только ip адрес - не особо уникальная и надежная штука ;-) Лучше авторизовать ПОЛЬЗОВАТЕЛЯ (традиционно - логин-пароль, или более секурно - сертификат), а компьютер оставить в покое :)
 

rubalex

Новичок
Автор оригинала: Alexandre
проведи маленький эксперимент с phpinfo()
-~{}~ 12.05.05 16:39:
провел. ни малейшего упоминания о внутренних адресах пользователя.

Автор оригинала: Alexandre
если комп в локальной секти + IIS,
апач 2 + SSL

Автор оригинала: Alexandre
вариант 2 (медленный и геморойный) используй ссл, и сертификаты пользователей, за то имеешь 100% уверенность аутентификации .
SSL у меня используется. а вот с сертификатами пользователей еще не разбирался.

Автор оригинала: Alexandre
вариант 3, но не дает 100% уверенности - писать каждому юзеру куку, и по ней отслеживать посещения
почему бы нет? правда не работал с куками. надо разбираться

-~{}~ 13.05.05 15:22:

Автор оригинала: neko
> Можно ли как то использовать яваскрипт выполняемы на
> клиентской стороне чтобы заполучить идентификатор
> компьютера?
я думаю нельзя.
с другой стороны допустим можно получить его внутренний ip.
а тут сюрприз, он за 2-мя nat'ами оказался
мне как раз и нужен внутренний адрес клиента за одним натом!

Автор оригинала: neko
> В каких случаях и как все таки можно идентифицировать
> пользователя по компьютеру?
это можно сделать только если ты сам выдаешь эти адреса
и то это будет не по "компьютеру" а по сетевой карте
в локальной сети
меня вполне устроит если я смогу получить мас адрес карты

-~{}~ 13.05.05 15:24:

Автор оригинала: alexhemp
neko
Proxy и NAT вообще разные вещи. Прокси-сервера могут добавлять свои заголовки типа "X_HTTP_FORWARDED_FOR" по своей доброй воле. А могут и не добавлять.

rubalex
Точно идентифицировать пользователя можно только выдав им уникальные идентификаторы и обеспечить заobne от их подделки (сертификаты).

Можешь написать ActiveX компонент, он сможет собрать информацию о компьютере. Только ip адрес - не особо уникальная и надежная штука ;-) Лучше авторизовать ПОЛЬЗОВАТЕЛЯ (традиционно - логин-пароль, или более секурно - сертификат), а компьютер оставить в покое :)
где почитать толково про сертификаты про пользователей?
 
Сверху