вобщем такое дело вставляю себе левый x-forwarded-for: 23.33.44.55 во все запросы. смотрю на на пример античате http://www.antichat.ru/cgi-bin/params.pl свой заголовок. все нормально - античат показывает мой левый x-forwarded-for: 23.33.44.55 и только. но если я иду на chat.mail.ru и смотрю свою инфу то вижу там кроме своего левого ип еще и мой реальный ип. вобщем такая хуета создает тематические проблемы. вобщем вопрос знающим людям почему? потому что античат показывает только первый x-forwarded-for: в запросе или это что то по хлеще?
Не забывай, что сервер анализирует не только x-forwarded-for, но и IP-address в TCP пакете)) А он то у тебя и отображает реальный IP...
я не забываю - я не знаю - я в компах еще слабо рублю. но это странно - зачем тогда x-forwarded-for нужен если можно было бы выкопать ип из тсп пакетов? вобщем я был бы очень благодарен любому хорошему человеку кто бы мог мне помочь. нужен хороший человек с хттп сервером на компе и ethereal. сам я как то немогу придумать как себя проснифить ибо если я гружу страничку с себя или компа с той же подсети то запрос разумеется через прокси не проходит. но вот если бы меня кто проснифил я был бы очень рад. хочу посмотреть где там западло сидит.
x-forwarded-for используется для того, что бы прокси сервера могли сообщить конечному серверу реальный IP клиента.
это ясно только зачем тогда x-forwarded-for нужен если как ты утверждаешь сверху этот реальный IP клиента еще есть где то в пакете?
Если пользователь подключается к серверу через шлюз, или через прокси..., то в x-forwarded-for хранится его IP за шлюзом или за прокси, то есть это по сути и есть реальный IP клиента, правда, не всегда он является глобальным, например, если клиент подключен к VPN, adsl и тому подобное, то x-forwarded-for возвращает его локальный IP, правда не все прокси передают x-forwarded-for
Да нет, как раз IP адрес из TCP пакета показывает адрес прокси а не твой адрес (если ты заходишь через прокси).
вот тото и оно - я про тоже приведу пример чтоб тебе стало яснее ибо я понимаю что ты чуть чуть не понял про что я говорю ваш параметры хттп выбивает TCP/IP протокол REMOTE_ADDR: 94.55.122.34 REMOTE_PORT: 57501 HTTP протокол GET http://antichat.ru/cgi-bin/params.pl HTTP/1.1 Accept: application/x-shockwave-flash, */* User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; iOpus-I-M) Pragma: no-cache, bypass-client=95.94.145.231 Accept-Language: en-us Via: cacheng 1.1, 1.1 cacheng Referer: http://antichat.ru/ Connection: keep-alive Cookie: hotlog=1; b=b X-Forwarded-For: 34.55.66.55 Host: antichat.ru то есть адресс прокси REMOTE_ADDR: 94.55.122.34, левый ип X-Forwarded-For: 34.55.66.55 но майл ру выбивает еще и реальный мой ип. и выглядит все там так 34.55.66.55, 94.55.122.34, реальный ип вобщем я не знаю но мне кажется что прокси независимо от присутсвия в запросе X-Forwarded-For: добавляет всегда как положенно еще один X-Forwarded-For: а ваш скрипт просто тупит ибо это тупость заложена в самом пхп ибо пхп кажется что в заоловке может быть только один X-Forwarded-For. а майл ру 2 месяца думала пока додумала как эту тупость профиксить и докопаться до второго X-Forwarded-For.
А это что ? Pragma: no-cache, bypass-client=95.94.145.231 Прокся не обязана передавать адрес клиента именно в X-Forwarded-For. Она может передавать и в других параметрах (например в поле Via или bypass-client) А скрипт вообще-то не на ПХП а на перле. Хотя действительно, если несколько одноименных заголовков, то скрипт этого не отображает. Но и прокси не должны добавлять одноименные заголовки. Обычно они просто перечисляют IP через запятую в поле X-Forwarded-For (это можно увидеть здесь http://antichat.ru/proxy для прокси 203.156.136.8:3128 например ).
а это еще один левый ип. но он тоже не помагает - его ваще майл ру нигде не показывает. вот тото и оно что все как то не должно а непонятно как работает и проблемы создает нереальные. вобщем чтоб не гадать нужен комп с сервером и ethereal чтоб меня проснифить или человек с компом которого я проснифю ибо комп с сервером и ethereal у меня есть.
Чудес не бывает. Либо используется IP из TCP пакета, либо поля HTTP запроса. Другой инфы сервер в принципе получить не может.