Forum Webscript.Ru

Программирование => PHP => Тема начата: attilla от 16 Апреля 2004, 02:01:07

Название: HTTP_X_FORWARDED_FOR
Отправлено: attilla от 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\');}}
Название: HTTP_X_FORWARDED_FOR
Отправлено: Меняздесьдавнонет от 16 Апреля 2004, 02:25:57
смысл этого кода в том, чтобы хакер мог с легкостью обмануть твой сркипт, подставив вместо реального адреса любую туфту.
Название: HTTP_X_FORWARDED_FOR
Отправлено: FreeSpace от 16 Апреля 2004, 02:42:50
attilla
Дело в том, что заголовок X-Forwarded-For формируется прокси-сервером (или прокси-серверами), который может оказаться между компьютером пользователя и твоим веб-сервером. Если этих прокси-серверов в цепочке много, то этот заголовок будет содержать не один адрес, а несколько.
RomikChef имел в виду, что на этот заголовок полагаться нельзя - его можно легко подделать.
Ничего не мешает просто отправить веб-серверу в запросе заголовок X-Forwarded-For: 127.0.0.1 и повеселить админа :)
Так что единственная достоверная информация о IP-адресе, с которого пришел запрос - это REMOTE_ADDR.
Название: HTTP_X_FORWARDED_FOR
Отправлено: attilla от 16 Апреля 2004, 05:57:41
Значит, $REMOTE_ADDR только использовать? И больше ничего?

А ссылочка есть на официальное описание HTTP_X_FORWARDED_FOR?
Название: HTTP_X_FORWARDED_FOR
Отправлено: Меняздесьдавнонет от 16 Апреля 2004, 12:30:57
если вопрос стоит так - ИЛИ ИЛИ, то да.
но лично я пишу и то и другое.

почитать - как и обо всем другом - в гугле
Название: HTTP_X_FORWARDED_FOR
Отправлено: pauk от 16 Апреля 2004, 16:03:37
http://ru2.php.net/getenv

Там приведена несколько другая функция определения IP.
Только не понимаю, когда может быть $ip = "UNKNOWN"  :)
Название: HTTP_X_FORWARDED_FOR
Отправлено: FreeSpace от 16 Апреля 2004, 19:07:24
Цитировать
attilla:
А ссылочка есть на официальное описание HTTP_X_FORWARDED_FOR?

Насколько я знаю, заголовок X-Forwarded-For не входит в спецификацию HTTP, точно так же, как и все остальные заголовки, начинающиеся на "X-". Просто производители прокси-серверов договорились использовать этот заголовок для своих нужд.
Название: HTTP_X_FORWARDED_FOR
Отправлено: ThE0ReTiC от 16 Апреля 2004, 19:13:47
Цитировать
FreeSpace:
точно так же, как и все остальные заголовки, начинающиеся на "X-".

[off]
точно так.
это относится также и к почтовым заголовкам
[/off]
Название: HTTP_X_FORWARDED_FOR
Отправлено: attilla от 19 Апреля 2004, 01:37:37
pauk а чем тот код лучше?
что означает HTTP_CLIENT_IP? Тоже описания нет, хотя не на Х начинается