Значение HTTP_X_FORWARDED_FOR

  • Автор темы TheBest
  • Дата начала

TheBest

Guest
Значение HTTP_X_FORWARDED_FOR

У меня очень простой вопрос, ответ на который я не могу найти. На локале $HTTP_X_FORWARDED_FOR выдает пустое значение (а $REMOTE_ADDR показывает 127.0.0.1).
Ну и вопрос - что сделать чтобы $HTTP_X_FORWARDED_FOR выдавало на локале нормальное значение, где в настройках копаться?
 

TheBest

Guest
Хотя бы 127.0.0.1 :)

Что, я полную глупость сморозил? :))

-~{}~ 07.01.05 16:05:

Вообще если я правильно понимаю, эта переменная должна выдавать IP посетителя плюс все прокси которые увидит. А на локале не выдаёт ничего...
 

Фанат

oncle terrible
Команда форума
во-первых, не должна. никому ничего.
во-вторых, где у тебя на локале прокси?

Ты вообще вдумывался в смысл сказанной тобой фразы?
ПЕРЕМЕННАЯ должна выдвавть айпи всех проксей, которые УВИДИТ! КАК по-твоему, переменная в пхп "видит" какие-то прокси?!
 

TheBest

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

Фанат

oncle terrible
Команда форума
что значит - ОНА ВЫДАЕТ? по-твоему, пхп опрашивает все прокси?
С чего ты решил, что она выдает и сам IP?
 

TheBest

Guest
Я уже понял что ты умный и всё знаешь, может соизволишь поделиться секретом (или если не знаешь - сразу пошли, буду искать в другом месте). Человеческим языком можешь общаться, без умных вопросов?
REMOTE_ADDR что выдает? IP или что-то другое? По-моему IP.
HTTP_X_FORWARDED_FOR выдает IP и прокси через которые проходит (по крайней мере на хостинге это выглядит именно так, например 195.158.31.144, 195.158.4.161, 195.158.0.150).
А на локале HTTP_X_FORWARDED_FOR ничего не выдаёт, пустую строку. Вот я пытаюсь понять почему выдаёт пустую строку и что можно сделать чтобы на локале выдавал IP (раз прокси нет и в помине).
 

ys

отодвинутый новичок
TheBest

сверху есть поиск. Введи туда: HTTP_X_FORWARDED_FOR

Много интересного познаешь и сэкономишь ресурс износа клавиатуры.
 

.R1

Новичок
_server

Единственное поле, на которое можно положиться - это REMOTE_ADDR (удаленный IP-адрес; Из интернета видно только внешний адрес сети). В остальные прокси пишет, что пожелает.

А вообще, все что содержит _X_ традиционно считается необязательными переменными/заголовками.

Если нужно, чтобы HTTP_X_FORWARDED_FOR содержал IP, просто присвой значение:
PHP:
if (empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
    $_SERVER["HTTP_X_FORWARDED_FOR"] = $_SERVER["REMOTE_ADDR"];
 

Фанат

oncle terrible
Команда форума
REMOTE_ADDR что выдает? IP или что-то другое?
ответ на этот вопрос набо смотреть в документации. А не заниматься гаданием на ромашке. ip- не ip.
HTTP_X_FORWARDED_FOR выдает IP
Я тебя спросил, с чего ты это взял. Я тебя именно об этом спросил, а не о том, считаешь ли ты меня самым умным, или нет.

Если тебя не устраивают умные вопросы - поищи мебе форум для дураков.
 

TheBest

Guest
Мда, мы с вами разговариваем на разных языках :)
САмым умным я себя не считаю и эту тему вообще не знаю, поэтому и задал вопрос. Раз до сих пор никто не смог ничего сказать значит уже вряд ли скажет, но попробую ещё раз объяснить что мне нужно.
Как настроить скрипт чтобы он выдвал мне IP я знаю. Если бы не знал - стал бы обсуждать в другой рубрике.
Начнём издалека. Откуда берется значение REMOTE_ADDR? Вот я на локале запускаю скрипт и вижу что в этой переменной записано 127.0.0.1. Откуда оно там взялось?
 

Фанат

oncle terrible
Команда форума
мне кажется, я уже выше отвечал на этот вопрос.

-~{}~ 07.01.05 20:15:

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

TheBest

Guest
Фанат, мне можно задавать вопросы, только я на них не отвечу потому что не знаю :) Ну не знаю я откуда там IP , просто вижу что записывается там IP и прокси. А вот почему это так - я как раз и спрашивал. Т.е. ты задал мне мой же вопрос, оригинально...

-~{}~ 07.01.05 20:55:

R1, а где там про HTTP_X_FORWARDED?

-~{}~ 07.01.05 20:57:

Во, нашёл.
---
It's possible for a HTTP client to spoof HTTP_X_FORWARDED_FOR, and set it to a fake IP number. It's more secure to use this code and log BOTH the ip and the proxy ip.
---
 

Фанат

oncle terrible
Команда форума
В принципе, на твой вопрос тебе ответил .R1:

HTTP_X_FORWARDED_FOR
тебе
НИЧЕГО
не
должен.

ВООБЩЕ.
 

TheBest

Guest
Ещё раз вопрос - что надо сделать чтобы It's possible случилось? Почему на локале не записывается в эту переменную ничего?

-~{}~ 07.01.05 20:59:

Фанат, завязывай с Карлом Марксом, экономику я знаю. :)

-~{}~ 07.01.05 21:00:

Т.е. никто не знает почему в HTTP_X_FORWARDED_FOR может записываться IP а может не записываться? Да или нет?
 

Фанат

oncle terrible
Команда форума
очень хорошо.
когда будут конкретные вопросы - приходи снова.
а выяснять - кто чего знает, лучше в детском саду.
там это актуальнее.

Да, когда придешь - не забудь сначала воспользоваться поиском.
 
Сверху