Способ получения IP-адреса клиента - PullRequest
1 голос
/ 21 августа 2009

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

Есть ли унифицированный способ узнать, какой фактический IP-адрес клиента находится за прокси-сервером? Глядя на Ruby docs , он явно заявляет, что

request.remote_ip

и

request.remote_addr

оба возвращали бы адрес прокси, а не фактический IP-адрес клиента, и я выброшен описанием "может содержать" в остальных заголовках HTTP.

Ответы [ 2 ]

2 голосов
/ 21 августа 2009

Зависит от того, поддерживает ли прокси X-Forwarded-For . Я бы запустил несколько тестов, чтобы убедиться, что remote_ip - это не то, что вы ищете - на основании быстрого взгляда на код, который пытается прочитать заголовок HTTP_X_FORWARDED_FOR.

1 голос
/ 21 августа 2009

Я набираю это с машины, которая находится за прокси. Я не «прячусь», это то, как работает моя организация (и большинство других достаточно больших, чтобы иметь сервер). У меня нет фиксированного IP-адреса: он распределяется динамически. Поэтому я не могу понять, как знание моего «текущего» IP-адреса поможет, так как завтра он будет другим. Черт, завтра я могу подключиться через другой прокси (я работаю в большой организации)!

Дома у меня есть несколько машин, подключенных через роутер. Опять же, у меня нет фиксированного IP-адреса: он назначается динамически моим провайдером. Это большой провайдер, так что, вероятно, прокси-сервер где-то в восходящем направлении.

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

...