Автор Тема: HTTP_X_FORWARDED_FOR  (Прочитано 4279 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн attilla

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 90
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
HTTP_X_FORWARDED_FOR
« : 16 Апреля 2004, 02:01:07 »
Где подробнее можно узнать о субже? А то мануал скачал, а там нет. :(  И чем отличается от REMOTE_ADDR
Вот в чем смысл кода?


 
if(empty($ip)){
if (
getenv(\'HTTP_X_FORWARDED_FOR\')){
$ip=getenv(\'HTTP_X_FORWARDED_FOR\');}
else{
$ip=getenv(\'REMOTE_ADDR\');}}

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
HTTP_X_FORWARDED_FOR
« Ответ #1 : 16 Апреля 2004, 02:25:57 »
смысл этого кода в том, чтобы хакер мог с легкостью обмануть твой сркипт, подставив вместо реального адреса любую туфту.

Оффлайн FreeSpace

  • Штатный лодырь
  • Ветеран
  • *****
  • Сообщений: 613
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.infinity.com.ua
HTTP_X_FORWARDED_FOR
« Ответ #2 : 16 Апреля 2004, 02:42:50 »
attilla
Дело в том, что заголовок X-Forwarded-For формируется прокси-сервером (или прокси-серверами), который может оказаться между компьютером пользователя и твоим веб-сервером. Если этих прокси-серверов в цепочке много, то этот заголовок будет содержать не один адрес, а несколько.
RomikChef имел в виду, что на этот заголовок полагаться нельзя - его можно легко подделать.
Ничего не мешает просто отправить веб-серверу в запросе заголовок X-Forwarded-For: 127.0.0.1 и повеселить админа :)
Так что единственная достоверная информация о IP-адресе, с которого пришел запрос - это REMOTE_ADDR.
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.

Оффлайн attilla

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 90
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
HTTP_X_FORWARDED_FOR
« Ответ #3 : 16 Апреля 2004, 05:57:41 »
Значит, $REMOTE_ADDR только использовать? И больше ничего?

А ссылочка есть на официальное описание HTTP_X_FORWARDED_FOR?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
HTTP_X_FORWARDED_FOR
« Ответ #4 : 16 Апреля 2004, 12:30:57 »
если вопрос стоит так - ИЛИ ИЛИ, то да.
но лично я пишу и то и другое.

почитать - как и обо всем другом - в гугле

Оффлайн pauk

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 201
  • +0/-0
  • 0
    • Просмотр профиля
    • http://tax-free.pp.ua/
HTTP_X_FORWARDED_FOR
« Ответ #5 : 16 Апреля 2004, 16:03:37 »
http://ru2.php.net/getenv

Там приведена несколько другая функция определения IP.
Только не понимаю, когда может быть $ip = "UNKNOWN"  :)
Hi!

Оффлайн FreeSpace

  • Штатный лодырь
  • Ветеран
  • *****
  • Сообщений: 613
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.infinity.com.ua
HTTP_X_FORWARDED_FOR
« Ответ #6 : 16 Апреля 2004, 19:07:24 »
Цитировать
attilla:
А ссылочка есть на официальное описание HTTP_X_FORWARDED_FOR?

Насколько я знаю, заголовок X-Forwarded-For не входит в спецификацию HTTP, точно так же, как и все остальные заголовки, начинающиеся на "X-". Просто производители прокси-серверов договорились использовать этот заголовок для своих нужд.
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
HTTP_X_FORWARDED_FOR
« Ответ #7 : 16 Апреля 2004, 19:13:47 »
Цитировать
FreeSpace:
точно так же, как и все остальные заголовки, начинающиеся на "X-".

[off]
точно так.
это относится также и к почтовым заголовкам
[/off]
AS IS...

Оффлайн attilla

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 90
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
HTTP_X_FORWARDED_FOR
« Ответ #8 : 19 Апреля 2004, 01:37:37 »
pauk а чем тот код лучше?
что означает HTTP_CLIENT_IP? Тоже описания нет, хотя не на Х начинается

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28