Viper пишет:HTTP_CLIENT_IP отсылаемый клиентом заголовок.
HTTP_X_FORWARDED_FOR получаем после прохождения через прокси. А т.к. по не стандартизированному стандарту порядок в этом заголовке clien_ip, proxy, ... и сравнив с клиентским ip(доверенность у него, как бы, несколько "побольше") получаем что второй заголовок формируется проксей не по стандарту и соответственно считаем неверным.
Возвращаясь вот к этому. В ситуации, когда есть и CLIENT_IP и X_FORWARDED_FOR, и запрос проходил только через один прокси сервер, оба заголовка будут содержать один, и причем одинаковый IP. Вот при прохождении второго прокси, ситуация поменяется. В X_FORWARDED_FOR может быть дописан адрес первого прокси. Причем в зависимости от программы сервера в начало (сквид) или конец (мой случай). Вот вопрос, а будет ли перезаписан CLIENT_IP. Вот в чем вопрос то собственно. То, что он теоретически может быть перезаписан, я знаю. А вот практически?
(Добавление)
fdr21 пишет:можно еще проще)))
Можно. Но вот только маленькая разница. Мой код, сохраняет в файл. А ваш выводит в браузер. Я конечно в курсе, что вывод можно перенаправить.
Но речь то не о том КАК увидеть, а о том, ЧТО увидеть. А так как ваш код выводит больше информации, причем не нужной, то значит, что с поставленной задачей он справляется хуже.