Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скрипт не может определить IP 
:(
    Опции темы
ReactOS
  Дата 10.12.2007, 04:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 165
Регистрация: 6.12.2007

Репутация: нет
Всего: 33



Привет! =)

Вас беспокою по следующему поводу:

Создал скрипт для определения IP.
IP отловить не может, но кажется я догадываюсь почему! =)
Мне просто интересно прав ли я или нет!


Скрипт: "catch_ip.php"
Код

<?php

//Определяем IP
$ip = $_SERVER["REMOTE_ADDR"];

//Опрделяем Подсеть
$subnet = getenv(HTTP_X_FORWARD_FOR);

//Формируем строку с полным IP
if(($subnet != null) && ($subnet != $_SERVER["REMOTE_ADDR"]))
    $_SERVER["REMOTE ADDR"] = $_SERVER["REMOTE ADDR"]."/".$subnet;
echo("Страницу $_SERVER[PHP_SELF] посетил пользователь с IP:").$_SERVER["REMOTE ADDR"];

?>


Я цепляюсь за заголовок HTTP_X_FORWARD_FOR, но я юзаю хорошую прокси, которая не оставляет за собой заголовки, поэтому скрипт, если правильно сказать не "не работает", а просто не может определить IP.

Вопросы:

Как же взять IP?

Ведь на сайте http://seemyip.com , любой ИП берется!
Как мне брать хотя бы ИП прокси?


PS:

Скрипт, запрещающий доступ определенному IP, тоже не работает! =)
Наверное, по этой же причине! =)


НО:

Знаю, что в .htaccess можно прописать:

Код

Deny ip.ip.ip.ip


Он же тоже не может отлавливать заголовки? =)
А то сейчас возможности проверить - нет, подскажите насчет .htaccess тоже! Вроде чудес не бывает! =)

Это сообщение отредактировал(а) ReactOS - 10.12.2007, 04:29
PM   Вверх
Leoo
Дата 10.12.2007, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 270
Регистрация: 3.10.2005
Где: г. Обнинск

Репутация: 1
Всего: 3



а функцию getIp не пробоваль юзать?


--------------------
Если вы не страдаете паранойей, это не значит, что они за вами не летят!
PM MAIL WWW ICQ   Вверх
kasmanaft
Дата 10.12.2007, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 16.11.2007

Репутация: 1
Всего: 2



Leoo, штой-то за функция такая?

ReactOS, используйте HTTP_X_FORWARDED_FOR
PM MAIL   Вверх
Leoo
Дата 10.12.2007, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 270
Регистрация: 3.10.2005
Где: г. Обнинск

Репутация: 1
Всего: 3



Прошу прощения, я немного ошибся  smile 


--------------------
Если вы не страдаете паранойей, это не значит, что они за вами не летят!
PM MAIL WWW ICQ   Вверх
SelenIT
Дата 10.12.2007, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



Только HTTP_X_FORWARDED_FOR - далеко не единственное место, где могут скрываться (а могут и не скрываться) айпишники (см. напр. эту тему). Если, как говорится, "очень надо" и совсем делать нечего, можно тупо перешерстить $_SERVER и $_ENV на предмет чего-либо хоть приблизительно айпиподобного smile. Правда, какой со всего этого практический толк?..


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
vasac
Дата 10.12.2007, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 8
Всего: 36



getenv(HTTP_X_FORWARD_FOR)
не забывайте строки заключать в кавычки.
Цитата

Как мне брать хотя бы ИП прокси?

Тот же REMOTE_ADDR
PM WWW   Вверх
GZep
Дата 10.12.2007, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 8
Всего: 32



аа.. г-н SelenIT уже дал ссылку на функцию, которая потрошит все заголовки подрят и выплевывает нечто, похожее на ip)))


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
Feldmarschall
Дата 11.12.2007, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Мне кажется, сам подход у автора не совсем правильный.
Во-первых, IP-адрес - это 4 байта, а не строка вида xxx.xxx.xxx.xxx/xxx.xxx.xxx.xxx
Во-вторых, HTTP_X_FORWARDED_FOR - это никакая не "подсеть", что бы ни имелось в виду под этим термином, а HTTP заголовок.

Ну, и небольшое замечание: в пхп отсутствует, насколько мне известно, константа HTTP_X_FORWARD_FOR. И никаких других констант с похожими именами - тоже. А строки в пхп пишутся в кавычках.
PM   Вверх
MoLeX
Дата 11.12.2007, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



Feldmarschall ну и какой подход по твоему правильный?

З.Ы. ReactOS,  у тебя REMOTE_ADDR в некоторых местах написан без земли (т.е. REMOTE ADDR)

Это сообщение отредактировал(а) MoLeX - 11.12.2007, 11:14


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Astraller
Дата 11.12.2007, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 1.8.2007
Где: $Украина[Кры м]->Феодосия

Репутация: нет
Всего: 5



vasac
Цитата
Тот же REMOTE_ADDR 

Нет, он не пробьёт прокс, юзать надо HTTP_X_FORWARDED_FOR или HTTP_REAL_IP
 
Feldmarschall, вполне они есть smile 


--------------------
A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair
PM MAIL WWW ICQ   Вверх
Feldmarschall
Дата 11.12.2007, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Мда, извинюсь. Мне показалось это очевидным.
Скрипт: "catch_ip.php"
Код
echo("Страницу $_SERVER[PHP_SELF] посетил пользователь с IP:").$_SERVER["REMOTE_ADDR"];

Про остальное написал г-н SelenIT.
Разве что, я бы придрался к слоу "тупо", поскольку тупой перебор, как раз, испортит картину. Как минимум, надо отсекать приватные сети.

Это если рассматривать проблему определения IP адреса, а не неправильного написания имени переменной, в которой, похоже, и кроется разгадка. И, в любом случае, как он совершенно правильно заметил, перебор HTTP заголовков не имеет с определением IP адреса ничего общего.
Сам термин, кстати, "определение IP адреса", я уверен на 100%, толкуется участниками дискуссии по-разному. Мягко говоря.

ReactOS, тебе обязательно надо включить отображение ошибок. Полное отображение. 
Уже второй вопрос ты задаешь из-за того, что не видишь сообщений об ошибках.



Это сообщение отредактировал(а) Feldmarschall - 11.12.2007, 11:31
PM   Вверх
Feldmarschall
Дата 11.12.2007, 11:46 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Astraller, ну, вот это как раз то, о чем я говорил. Средний программист на PHP слабо разбирается в сетевых технологиях.
Повторю ещё раз. HTTP_X_FORWARDED_FOR или HTTP_REAL_IP - это НТТР заголовки.
Учитывая, что в НТТР заголовке может быть написано "админ - дурак!", ты будешь продолжать настаивать на том, что надо использовать именно эти переменные?

Кстати, о переменных. Я, конено, не уверен, и проверять мне лень, но я ни разу в жизни не видел, чтобы где-то использовались константы типа HTTP_X_FORWARDED_FOR.
Судя по беглому знакомству с этим разделом форума, его посетители пренебрегают уровнем отображения ошибок E_ALL, отчего и происходят такие заблуждения и многочисленные ошибки.

Вопрос же "определения IP адреса" - скорее философский. Надо четко понимать - что ты хочешь определить. Иначе можно разочароваться.
PM   Вверх
Astraller
Дата 11.12.2007, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 1.8.2007
Где: $Украина[Кры м]->Феодосия

Репутация: нет
Всего: 5



Уважаемый Feldmarschall
Цитата

Учитывая, что в НТТР заголовке может быть написано "админ - дурак!", ты будешь продолжать настаивать на том, что надо использовать именно эти переменные?

Если есть выбор в 1 из 1kk случаев наткнуться на идиота который передаёт не верные значения header и отсеять его с помощью простого регулярного выажения и слепо доверять REMOTE_ADDR, я выберу первое!
Цитата

Кстати, о переменных. Я, конено, не уверен, и проверять мне лень, но я ни разу в жизни не видел, чтобы где-то использовались константы типа HTTP_X_FORWARDED_FOR.

Это говорит лишь о скудности вашего опыта и подтверждает лень. Не более более, ни менее.
Цитата

Вопрос же "определения IP адреса" - скорее философский. Надо четко понимать - что ты хочешь определить. Иначе можно разочароваться.

"Что" ты хочешь определить ясно всем и каждому, вопрос "зачем" тебе его IP как раз и различает уровни. smile 


--------------------
A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair
PM MAIL WWW ICQ   Вверх
Feldmarschall
Дата 11.12.2007, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Люблю самоуверенных. Особенно после того, как старательно и корректно указал им на ошибки. 
Окей.
Цитата(Astraller @  11.12.2007,  14:14 Найти цитируемый пост)
Если есть выбор в 1 из 1kk случаев наткнуться на идиота который передаёт не верные значения header и отсеять его с помощью простого регулярного выажения и слепо доверять REMOTE_ADDR, я выберу первое!

Это зависит от задачи. придумать задачу, при которой следует использовать неизвестно что вместо адреса хоста, соединившегося с нашим сервером я не могу. Ключевое слово - "вместо". Наряду - пожалуйста. Но заменять REMOTE_ADDR на 20HTTP_X_FORWARDED_FOR - это какое-то немыслимое головотяпство.
Цитата(Astraller @  11.12.2007,  14:14 Найти цитируемый пост)
Это говорит лишь о скудности вашего опыта и подтверждает лень. Не более более, ни менее.

я сделал такой запрос:
http://code.google.com/#q=%22echo%20HTTP_X_FORWARDED_FOR%22
он вернул 0 результатов. Видимо, я не одинок в своем отсутствии опыта и ленности.
Цитата(Astraller @  11.12.2007,  14:14 Найти цитируемый пост)
"Что" ты хочешь определить ясно всем и каждому

Возьмём распространенный пример - ведение логов.
Какой именно IP адрес (какого именно хоста) ты хочешь записать в лог?
PM   Вверх
vasac
Дата 11.12.2007, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 8
Всего: 36



Feldmarschall, HTTP_X_FORWARDED_FOR встречается повсеместно, плохо искали. И везде совершенно четко говорится — единственное в чем можно быть б/м уверенным, это REMOTE_ADDR — IP пользователя или последнего прокси в цепи. Всё остальное заголовки, которые можно использовать для статистики и т.п, но не для построения на их основе какой-то системы безопастности.

Цитата(Astraller @  11.12.2007,  11:20 Найти цитируемый пост)
vasac, 
Цитата
Тот же REMOTE_ADDR 

Нет, он не пробьёт прокс, юзать надо HTTP_X_FORWARDED_FOR или HTTP_REAL_IP

Не понял
PM WWW   Вверх
Anarki
Дата 11.12.2007, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 14.3.2005

Репутация: 7
Всего: 11



ReactOS,
Можно сделать так.
Ограничить заход юзеров с прокси, используя блокировки DNSBL, тогда есть вероятность, что тот пользователь которому хотите перекрыть доступ сидит за открытой проксей и не сможет получить доступ к ресурсу smile 



--------------------
PM WWW   Вверх
SelenIT
Дата 11.12.2007, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



Feldmarschall
Цитата(Feldmarschall @  11.12.2007,  11:22 Найти цитируемый пост)
Разве что, я бы придрался к слоу "тупо", поскольку тупой перебор, как раз, испортит картину. Как минимум, надо отсекать приватные сети.

Сорри, можно про это чуть подробнее?


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Feldmarschall
Дата 11.12.2007, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



SelenIT, ну, я имею в виду, что если попадется айпишник из приватной сети, типа 192., то его не брать. Хотя сейчас подумал - то почему нет? Мы же не замену REMOTE_ADDR ищем. 
Идея, кстати, хорошая - перебирать весь массив поиском по маске. Мне не приходила в голову. 
PM   Вверх
GZep
Дата 12.12.2007, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 8
Всего: 32



Feldmarschall, юзай тот вариант, что дали и не парься, поверь, на него я довольно много времени убил.


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
Feldmarschall
Дата 12.12.2007, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Давайте определимся с терминологией. Юзать для чего? Вместо REMOTE_ADDR?
Для определения "IP адреса"? IP адресов много, а мне никто так и не ответил, что имеется  виду под этим термином.

Это сообщение отредактировал(а) Feldmarschall - 12.12.2007, 19:02
PM   Вверх
Astraller
Дата 13.12.2007, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 1.8.2007
Где: $Украина[Кры м]->Феодосия

Репутация: нет
Всего: 5



vasac
Цитата
Не понял 

Я имел в виду что если пользователь пришел через прокс то REMOTE_ADDR вернёт IP прокси вместо IP машины пользователя. smile

Добавлено через 10 минут и 18 секунд
Цитата(Feldmarschall @  12.12.2007,  18:17 Найти цитируемый пост)
Давайте определимся с терминологией. Юзать для чего? Вместо REMOTE_ADDR?
Для определения "IP адреса"? IP адресов много, а мне никто так и не ответил, что имеется  виду под этим термином.

IP-адрес (aй-пи адрес, сокращение от англ. Internet Protocol Address) — уникальный идентификатор (адрес) устройства (обычно компьютера), подключённого к локальной сети или интернету.



--------------------
A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair
PM MAIL WWW ICQ   Вверх
GZep
Дата 13.12.2007, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 8
Всего: 32



Feldmarschall, тот код, ссылку на который мы давали - пытается найти "истинный" ip если человек юзает прокси (не анонимный), не более. Если интересно, почитай обсуждение и историю создания того примера.


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
Feldmarschall
Дата 13.12.2007, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Я читал. Ничего общего с истиной тот код не имеет. Нет, неинтересно. Я читал таких обсуждений миллион.
Все они сводятся к обсуждению того, что "истиннее" - X_FORWARDED_FOR или REAL_IP.

В общем, чтобы подытожить тему:

ReactOS, если тебе нужен IP адрес, то это REMOTE_ADDR. К примеру, в логах у тебя есть поле IP - пишешь туда именно его. Точка.

Если ты хочешь получать справочную информацию о, возможно, имеющихся в HTTP заголовках строках, визуально похожих на IP адреса,  то делаешь то, что сказал Selenit - в цикле по массиву $_SERVER, ищем заголовки содержащие подстроку подходящую под нужный шаблон.
При этом сохраняем их во-первых - с именем заголовка, а во-вторых, разумеется - в строковом виде. Вообще, все зависит от того, какую цель ты преследуешь. Если получить максимум информации о клиенте, то стоит хранить вообще все заголовки - сериализовать массив $_SERVER и сохранять целиком.

Но, в любом случае, к получению IP адреса это уже не имеет отношения. IP адрес бывает только один - REMOTE_ADDR. Если ты записываешь хоть что-то вместо  него - это глупость и непонимание элементарных вещей.

Примечание:
В случае, когда сервер провайдера настроен криво, и  REMOTE_ADDR не определен или выдает один и тот же адрес для всех посетителей, следует обратиться в техподдержку провайдера с вопросом - в какой переменной содержится IP адрес, и использовать её. Убедившись сначала, что там лежит именно IP адрес, а не строка непонятного формата. Но лучшим решением будет уйти от такого провайдера к нормальному.

Это сообщение отредактировал(а) Feldmarschall - 14.12.2007, 16:23
PM   Вверх
Astraller
Дата 14.12.2007, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 1.8.2007
Где: $Украина[Кры м]->Феодосия

Репутация: нет
Всего: 5



Feldmarschall,
Цитата

А если REMOTE_ADDR и REAL_IP вернут одно значение, а HTTP_X_FORVARDED_FOR - другое. И какое знаение считаем за истинное?
©AlienStorm


--------------------
A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair
PM MAIL WWW ICQ   Вверх
Feldmarschall
Дата 14.12.2007, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Я повторю свой вопрос.
На который многочисленные "специалисты", решившие меня поучить, так и не могут дать ответа.
Видимо, не хватает практических знаний.
Что ж. Придется объяснять на пальцах.

Итак, возьмем самый обычный вариант:
Есть пользовательский компьютер, который, который находится в офисной сети. IP компьютера 192.168.0.22
Офисная сеть включена через роутер в сеть здания. IP роутера - 10.10.0.3
Сеть здания, в свою очередь, подключена к интернету, через роутер. IP роутера - 77.88.22.11
Пользователь  заходит на сайт, пользуясь открытым прокси. IP прокси - 111.222.000.8

Мы можем получить в скрипте любой из этих адресов.

Вопросы:
1. Какой из IP считается "истинным"?
2. Мы ведем логи. В лог записывается только 1 IP адрес. Какой из адресов следует записать в лог?

Примечание:
Следует правильно понимать смысл этих вопросов. Это не проверка знаний. Это уточнение терминов. Я всё хочу понять - что понимают местные знатоки под словами "истинный IP адрес" и хочу перевести вопрос об определении адреса из теоретической в практическую плоскость (Вопрос N2).

PM   Вверх
Astraller
Дата 14.12.2007, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 1.8.2007
Где: $Украина[Кры м]->Феодосия

Репутация: нет
Всего: 5



Feldmarschall, что ж, придётся спустится до уровня "детского сада". Я жду вашего ответа, и не намерен отвечать на ваши вопросы, пока не получу ответа на свой. smile 

Это сообщение отредактировал(а) Astraller - 14.12.2007, 13:10


--------------------
A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair
PM MAIL WWW ICQ   Вверх
vasac
Дата 14.12.2007, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 8
Всего: 36



Feldmarschall, вы тут уже неделю пишите какую-то чушь, выжимая из соврешенно пустой темы непонятно что и сыпя банальностями, которые и так всем понятны, но при этом изображая себя учителем недоумков.
PM WWW   Вверх
AlienStorm
Дата 14.12.2007, 13:17 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 14.12.2007

Репутация: 1
Всего: 1



Цитата

1. Какой из IP считается "истинным"?

Последний. "И точка." © Feldmarschall smile 
Цитата

2. Мы ведем логи. В лог записывается только 1 IP адрес. Какой из адресов следует записать в лог?

ВЫ можете записать туда что угодно. Но хостинг в лог запишет только последний. Потому что прокси это или прямой запрос - значения не имеет. Может быть прямой НТТР запрос был модифицирован с целью дезинформации? 
Цитата

Я всё хочу понять - что понимают местные знатоки под словами "истинный IP адрес" и хочу перевести вопрос об определении адреса из теоретической в практическую плоскость (Вопрос N2).

Я не местный, поэтому скажу как это понимаю я. 
Это IP с которого был сделан запрос, пришедший на сервер.
Практическая плоскость же зависит от самого хостинга, а не каких то надуманых условий. Где-то этот самый айпишник хранится в REMOTE_ADDR, а где-то - в HTTP_X_FORVARDED_FOR. Узнать просто - сдалть самому запрос или просто спросить у техподдержки.

Это сообщение отредактировал(а) AlienStorm - 14.12.2007, 13:18
PM MAIL   Вверх
Feldmarschall
Дата 14.12.2007, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Слово "истинный" не имеет технического смысла. 
Я отвечу, как только мне предоставят определение этой "истинности". 
Я даже привел пример, на котором можно просто пальцем ткнуть в один из IP адресов. И я тут же отвечу.
Так трудно сделать простой выбор из 4 пунктов? 

PM   Вверх
Astraller
Дата 14.12.2007, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 1.8.2007
Где: $Украина[Кры м]->Феодосия

Репутация: нет
Всего: 5



AlienStorm
Цитата

Практическая плоскость же зависит от самого хостинга, а не каких то надуманых условий. Где-то этот самый айпишник хранится в REMOTE_ADDR, а где-то - в HTTP_X_FORVARDED_FOR. Узнать просто - сдалть самому запрос или просто спросить у техподдержки.

Я бы сказал не только от хостинга но и поставленной задачи, если нужен "абсолютно правильный лог" то хранить оба адреса:
REMOTE_ADDR и HTTP_X_FORVARDED_FOR, и это будет наиболее точной организацией в случае привязки к IP - ИМХО.
Цитата(Feldmarschall @  14.12.2007,  13:21 Найти цитируемый пост)
Так трудно сделать простой выбор из 4 пунктов? 

Я вам предоставил выбор из двух вариантов. Где же ваш ответ?!  smile 

Это сообщение отредактировал(а) Astraller - 14.12.2007, 13:24


--------------------
A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair
PM MAIL WWW ICQ   Вверх
Feldmarschall
Дата 14.12.2007, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



AlienStorm, спасибо за единственный грамотный ответ во всей теме.
Единственная поправочка - всё-таки, вероятность того, что IP пира будет лежать в переменнй HTTP_X_FORVARDED_FOR, стремится к нулю. 
Я, вообще-то, не работал с хостингами, где апач сидит в тюрьме. Но там, обычно, насколько мне известно, называют как-то по-другому. Не говоря уже о том, что эти случаи являются экстраординарными, и требуют специального ручного подхода каждый раз. Если учитывать их наряду с другими на автомате, то это приведет к катастрофическим последствиям. То есть, верить HTTP_X_FORVARDED_FOR мы можем только в том случае, если её установил наш собственный сервер.

Добавлено через 5 минут и 43 секунды
Понятно. Astraller, провалил тест. Кто следующий?
Подходите, не бойтесь. 
Стыдно не незнание, стыдно нежелание узнать ;-)
PM   Вверх
AlienStorm
Дата 14.12.2007, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 14.12.2007

Репутация: 1
Всего: 1



Цитата(Feldmarschall @ 14.12.2007,  12:26)
AlienStorm, спасибо за единственный грамотный ответ во всей теме.
Единственная поправочка - всё-таки, вероятность того, что IP пира будет лежать в переменнй HTTP_X_FORVARDED_FOR, стремится к нулю. 
Я, вообще-то, не работал с хостингами, где апач сидит в тюрьме. Но там, обычно, насколько мне известно, называют как-то по-другому. Не говоря уже о том, что эти случаи являются экстраординарными, и требуют специального ручного подхода каждый раз. Если учитывать их наряду с другими на автомате, то это приведет к катастрофическим последствиям. То есть, верить HTTP_X_FORVARDED_FOR мы можем только в том случае, если её установил наш собственный сервер.

Я на таком хостинге и работаю. 
Из всей специфики - айпишник лежит в HTTP_X_FORVARDED_FOR. Все остальные поля содержат наши внутренние адреса. 
Собственно можно было бы и их оттранслировать, но зачем? Есть наш форум, где это все описано. Работает техподдержка... Зачем вводить новые модули в серв?
PM MAIL   Вверх
Feldmarschall
Дата 14.12.2007, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Фиговая практика. Вы заставляете людей переделывать вообще все скрипты. Неужели тружно переписать переменную окружения REMOTE_ADDR?
PM   Вверх
AlienStorm
Дата 14.12.2007, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 14.12.2007

Репутация: 1
Всего: 1



Замена одной переменной - это все скрипты? smile 
Просто особенность, не более. Все CMS про нее знают... smile 
PM MAIL   Вверх
Feldmarschall
Дата 14.12.2007, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



AlienStorm, неужели я непонятно написал?
В меня уже начинает закрадываться подозрение в том, то ты работаешь провайдером и понимаешь, что такое HTTP_X_FORVARDED_FOR.
В подавляющем большинстве случаев ценность этой переменной для определения IP адреса сравнима с ценностью использованной мягкой бумажки. Поэтому "Все CMS", работающие на нормальных хостингах, наоборот - должны её не знать!.
PM   Вверх
MoLeX
Дата 14.12.2007, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



это еще почему 
Цитата(Feldmarschall @  14.12.2007,  13:49 Найти цитируемый пост)
наоборот - должны её не знать!.

объясни популярным языком, можно и без научной теминология... я переживу и постораюсь понять



--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
AlienStorm
Дата 14.12.2007, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 14.12.2007

Репутация: 1
Всего: 1



Цитата(Feldmarschall @ 14.12.2007,  12:49)
AlienStorm, неужели я непонятно написал?
В меня уже начинает закрадываться подозрение в том, то ты работаешь провайдером и понимаешь, что такое HTTP_X_FORVARDED_FOR.
В подавляющем большинстве случаев ценность этой переменной для определения IP адреса сравнима с ценностью использованной мягкой бумажки. Поэтому "Все CMS", работающие на нормальных хостингах, наоборот - должны её не знать!.

Я не согласен.

Потому что эта переменная - список перенаправлений пакета. Так вот, когда она попала к Апачу (через прокс, обращаю внимание, в моем случае) - то весь список перенаправлений мы получаем в одной переменной, а не целой куче! Такой вот обычный, линейный список. Те, кто об этом не знаю - будут страдать первое время, но на самом деле это очень удобно. 
Левой инфы там не будет - 100%, потому что даже если это поле будет содержать пустую строку, то в нее минимум пойдет адрес, с которого пришел запрос.

***
Да, и еще. Если CMS про нее знать не будут - то можем получить ситуацию, что забанив по IP массовый прокси - баним всех. А это нехорошо. Достаточно просмотреть HTTP_X_FORWARDED_FOR на предмет искомого IP. Конечно, часть людей и на этом могут попасть, но не в таких промышленных масштабах.

Это сообщение отредактировал(а) AlienStorm - 14.12.2007, 14:22
PM MAIL   Вверх
Feldmarschall
Дата 14.12.2007, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



AlienStorm, я говорю не о том, что эта переменная содержит на вашем хостинге. Я говорю о том, что она содержит на нормальных хостингах. 
CMS не может знать, на каком хостинге она расположена. И не может автоматически выбрать, откуда ей брать айпишник - из REMOTE_ADDR или из HTTP_X_FORWARDED_FOR

По-моему, ты всю эту историю просто выдумал. Давай ссылку на форум, где все описано. 

PM   Вверх
AlienStorm
Дата 14.12.2007, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 14.12.2007

Репутация: 1
Всего: 1



Вуаля. http://www.ayola.net/forum (на правах раскрутки своего родимого хостинга) smile 
Нормальных хостингов не бывает. У каждого свои заглюки. Только наш еще и бесплатный, поэтому можем себе позволить такое.
PM MAIL   Вверх
Astraller
Дата 14.12.2007, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 1.8.2007
Где: $Украина[Кры м]->Феодосия

Репутация: нет
Всего: 5



Feldmarschall, вот скажите разработчики IBR ламеры или кто, но в IPB есть функция "Брать IP из HTTP_X_FORWARDED_FOR". Может истолкуете сей факт?! smile 

Цитата

Понятно. Astraller, провалил тест. Кто следующий?
Подходите, не бойтесь. 
Стыдно не незнание, стыдно нежелание узнать ;-) 

А вы не хотите ответить на мои вопросы? И кто вы такой чтобы меня тестировать? Я к вам на работу не устраиваюсь. smile 

Это сообщение отредактировал(а) Astraller - 14.12.2007, 14:32


--------------------
A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair
PM MAIL WWW ICQ   Вверх
AlienStorm
Дата 14.12.2007, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 14.12.2007

Репутация: 1
Всего: 1



Цитата(Feldmarschall @ 14.12.2007,  13:18)
CMS не может знать, на каком хостинге она расположена. И не может автоматически выбрать, откуда ей брать айпишник - из REMOTE_ADDR или из HTTP_X_FORWARDED_FOR

Если вебмастер не оптимизирует CMS под хост - он ленивый или кривой вебмастер. 
Если он не знает как это исправить - то RTFM. 
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1613 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.