Автор Тема: Массовое зеблуждение с определением ip  (Прочитано 5801 раз)

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

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru

if (getenv("HTTP_CLIENT_IP")) $ip getenv("HTTP_CLIENT_IP");
else if (
getenv("HTTP_X_FORWARDED_FOR")) $ip getenv ("HTTP_X_FORWARDED_FOR");
else if (
getenv("REMOTE_ADDR")) $ip getenv("REMOTE_ADDR");
else 
$ip "UNKNOWN";

У меня вот такая конструкция вполне работает.
LJ: Backslashed life (rss)

Оффлайн Vovan_Tverskoy

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 30
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Массовое зеблуждение с определением ip
« Ответ #1 : 10 Декабря 2004, 22:01:05 »
А у меня нет!
Выдает не мой ip а сервера.

Оффлайн Vovan_Tverskoy

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 30
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Массовое зеблуждение с определением ip
« Ответ #2 : 10 Декабря 2004, 22:02:46 »
Хотя на fatal.ru - все работает прекрасно, даже первый вариант!
Может дело в хостере?

Оффлайн Alexey333

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 107
  • +0/-0
  • 0
    • Просмотр профиля
Массовое зеблуждение с определением ip
« Ответ #3 : 11 Декабря 2004, 18:48:16 »
if (getenv(\'HTTP_X_FORWARDED_FOR\')) {
$ip=getenv(\'HTTP_X_FORWARDED_FOR\');
}
else {
$ip=getenv(\'REMOTE_ADDR\');
}

Оффлайн Vovan_Tverskoy

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 30
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Массовое зеблуждение с определением ip
« Ответ #4 : 11 Декабря 2004, 18:51:47 »
Ну, это все равно вернет адрес хостера, а не мой.
Мой находится в HTTP_X_REAL_IP.

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Массовое зеблуждение с определением ip
« Ответ #5 : 13 Декабря 2004, 22:23:02 »
Vovan_Tverskoy
Глюк...
Хотя, если знаешь, где твой IP - получить не проблема, так? :)
LJ: Backslashed life (rss)

Оффлайн frontera

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.alros.ru
Массовое зеблуждение с определением ip
« Ответ #6 : 14 Декабря 2004, 13:05:55 »
оппа ребята, как так. дело не в серваке, это данные http заголовков, значит либо сервак работает через проксю (и от имени прокси соответственно идут заголовки) либо у тебя стоит типа прокси (или маскарадинг какой не такой) но маскируется под ip сервера......
попробуй на каком-нить бесплатном хостинге без прокси проверить (кроме h1..10..11 который Агава дает - там сервак как-раз через проксю работает)
или поставь себе Денвера и тестируй на нем, и траффик не жрешь и юзать удобно :-)

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

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Массовое зеблуждение с определением ip
« Ответ #7 : 15 Декабря 2004, 15:29:53 »
CGVictor , а ты вот прямо такой функцией и пользуешься? Часто?

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

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Массовое зеблуждение с определением ip
« Ответ #8 : 15 Декабря 2004, 15:30:44 »
как не имеющие никакого отношения к проблемам Толяна, все эти "советы" вынесены в отдельный топик.

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Массовое зеблуждение с определением ip
« Ответ #9 : 15 Декабря 2004, 19:40:14 »
Цитировать
RomikChef:
вынесены в отдельный топик

И почему-то опять с моим ником. Не нравится мне подобная популярность.

Цитировать
RomikChef:
ты вот прямо такой функцией и пользуешься?

[off]Будут бить по шапке...[/off]
Да, бывает.
LJ: Backslashed life (rss)

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

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Массовое зеблуждение с определением ip
« Ответ #10 : 15 Декабря 2004, 20:30:46 »
бывает - это в каких случаях?

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Массовое зеблуждение с определением ip
« Ответ #11 : 16 Декабря 2004, 10:05:45 »
RomikChef
Ромик, ну не томи, давай сразу, где я опять напортачил...

Цитировать
RomikChef:
в каких случаях

Для определенности говорю "во всех".

[off]Повинную голову меч не сечет...[/off]
LJ: Backslashed life (rss)

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

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Массовое зеблуждение с определением ip
« Ответ #12 : 16 Декабря 2004, 12:28:57 »
Эта функция наиболее реальными считает те адреса, которые легче всего подделать.
Собственно, к протоколу TCP/IP имеет отношение только переменная REMOTE_ADDR, поскольку содержит адрес хоста, который инициировал TCP/IP сессию.
Остальные же, такие, как HTTP_CLIENT_IP, HTTP_X_FORWARDED_FOR - это просто дополнительные текстовые поля в заголовке HTTP запроса.
Не надо, я думаю, объяснять, что НТТР заголовки легко подделываются.
Есть еще одна проблема.
Заключается она в том, что "реальный" IP адрес обычно весьма малоинформативен.
Большинство компьютеров сейчас подключено к интернету через локальные сети с IP адресами из приватных диапазонов - 10., 192., и так далее. Идентифицировать, даже приблизительно, откуда пришел такой запрос, невозможно в принципе.

Это, так сказать, фактическая сторона медали.
Но есть еще и, если можно так выразиться, философская.
Меня всегда удивляло, что в этой жизни люди всегда стремятся выбирать. Обязательно что-то одно. Или грудь в грестах, или голова в кустах. Ну, по законам военного времени такой максимализм понятен.
Но в мирное время - кто нас заставляет выбирать только один фактор?
Почему мы сами себе руки связываем?
Ограничиваем себя только одним параметром?
Или тот, или другой, или третий.
Тем более, в таком важном деле, как точная идентификация клинта.
Если так уж приспичило с аптекарской точностью определить адрес - Почему бы тогда не использовать сразу все? Это будет всяко надежнее, чем один.

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

Но опять же - это только в случае, если действительно надо кого-то отслеживать. а в обычной жизни я пользуюсь ремоте аддр.
« Последнее редактирование: 16 Декабря 2004, 12:39:09 от RomikChef »

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Массовое зеблуждение с определением ip
« Ответ #13 : 16 Декабря 2004, 13:00:15 »
Цитировать
RomikChef:
а все остальные скидывал в поле произвольной формы

Так как тогда проверять? Если совпал хоть один адрес? Если все вместе, то один ... подделать можно.

[off]
Цитировать
RomikChef:
в обычной жизни я пользуюсь ремоте аддр

Хе.. и я, но исключительно от лени :)

Еще вот нашел на Скилле вариант, но у него те же недостатки:

$user_ip 
implode (\', \', array_diff(preg_split ("/,\\s*/", (getenv(\'HTTP_X_FORWARDED_FOR\') ? getenv(\'HTTP_X_FORWARDED_FOR\').\', \' : \'\').(getenv(\'HTTP_CLIENT_IP\') ? getenv(\'HTTP_CLIENT_IP\') : getenv(\'REMOTE_ADDR\'))), array(\'unknown\')));

А слеши форум скушал.. Refer to original.[/off]
LJ: Backslashed life (rss)

 

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