| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Странный ip адрес |
| Автор: Elfer 7.9.2016, 14:36 | ||||
| Впервые столкнулся с такой проблемой, что ip заказчика возвращается в странном виде: 2001:7d0:838f:f780:d4c5:776d:9929:c5e3 Возвращаю через $_SERVER["REMOTE_ADDR"]. Очень сильно удивился, что такой нестандартный ip и вывел всё содержимое $_SERVER:
Очень удивился и попросил заказчика открыть 2ip.ru сайт дабы посмотреть что там покажет. Показало: 90.190.172.98 Полез в интернет искать объяснения увиденному, нашёл только то, что ip желательно определять по такому алгоритму:
Взял его себе на вооружение, но с моей проблемой этот код не поможет. Подскажите, плиз, как быть с такими странными ip "2001:7d0:838f:f780:d4c5:776d:9929:c5e3", как их привести к нормальному виду? |
| Автор: a0730 7.9.2016, 15:48 |
| Отключи IPv6. Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Stranny-ip-adres-id57cffc5666ee18078c08e412#findElement_E7045_57d00ca8ca80ff75f204b403_0 |
| Автор: a0730 7.9.2016, 15:48 |
| Отключи IPv6. Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Stranny-ip-adres-id57cffc5666ee18078c08e412#findElement_E7045_57d00ca8ca80ff75f204b403_0 |
| Автор: Elfer 8.9.2016, 11:44 |
| Как отключить IPv6? Я же не скажу каждому юзеру отключить IPv6. Задача в том, чтобы по ip определять из какой страны пользователь. База ip есть, функционал тоже есть. Нужно чтобы эти ip, с которых заходят пользователи были стандартные: числа и точки. База с ip адресами и странами тоже содержим стандартные ip. Т.е. я не могу ip вида 2001:7d0:838f:f780:d4c5:776d:9929:c5e3 сравнивать с ip в этой базе. Мне нужно эти странные ip приводить к нормальному виду. На 2ip.ru возвращается почему-то нормальный ip. Там же как-то делается это PHP-средствами на автомате. |
| Автор: gta4kv 11.9.2016, 07:46 |
| Нельзя привести эти "странные ip" к нормальному виду, потому что это и есть нормальный вид. GeoIP давно поддерживает IPv6, в чем проблема? |
| Автор: Elfer 12.9.2016, 23:20 |
| Хорошо, почему тогда 2ip.ru показал привычный нам ip-адрес из цифр и точек? Попробую также поискать в сети базу ip-адресов и стран расширенную, с нестандартными ip. Очень мало информации в интернете по этому поводу, тяжело найти ответ. Вот рассчитываю на ответы гуру. |
| Автор: gta4kv 16.9.2016, 08:58 |
| Еще раз, вам надо убрать из головы понятие про "нестандартные". Тут все предельно просто, адреса в диапазон 1.1.1.1 - 255.255.255.255 (IPv4) заканчиваются, поэтому повсеместно вводится новый формат (IPv6). И это происходит уже достаточно давно.Информации об этом в интернете настолько много, что читать можно минимум месяц. А теперь к проблеме: Полагаю, что для определения географической принадлежности пользователя вы используете базу GeoIP (она, мне кажется, в общем-то одна). Так вот у этой базы давно есть обновленная версия с IPv6. Так что вам надо сделать всего две вещи: 1) Почитать про IPv6 и выкинуть из лексикона понятие про странный/нестандартный IP (Ибо это уже давно стандарт) 2) Обновить базу GeoIP А насчет почему 2ip отображает обычный адрес, так это потому, что коннект в пространстве IPv6 возможен только тогда, когда и хост и клиент поддерживают его. |
| Автор: gta4kv 16.9.2016, 18:14 |
| Точняк. Не знаю откуда вообще придумал 1.1.1.1, даже 1.0.0.0 было бы логичнее |
| Автор: _zorn_ 16.9.2016, 18:20 | ||
Кстати кому принадлежит эта сеть ? Хотел бы себе такую (как раньше аську шестизнак
Значит тоже "зарезервировано". Писец, столько A сетей пропадает, а они IPv6 выдумывают Хотя кто мы такие, чтобы стремать придумщиков за организацию и выдачу адресов... 128 бит хватит на каждый кросовок на планете ) |
| Автор: _zorn_ 16.9.2016, 18:38 |
| Вообще я сейчас подумал... Сначала придумал надуманную проблему что их запоминать тяжелее (попробуй зайти на этот абырвалг с двоеточиями). Но потом подумал с другой стороны - нам (технарям в том числе) этого не избежать. А основная проблема в старом оборудовании и САМОЕ ГЛАВНОЕ в старых сетевых специалистах. Одномоментно никто на IPv6 все не переведет. Но этого не избежать. Так что ответ ТС - скоро вы будете говорить про "127.0.0.1" - "странный айпи адрес" ЗЫ. Кстати, знали что вся А сеть 127 - это локалхост ? Т.е. 127.213.12.43 - тот же самый локалхост ) Это про "разумное" использование адресного пространства Добавлено через 14 минут и 36 секунд Хотя кому я вру. Сам же не раз отшивал предложения типа "вставить определенное поведение для определенного объекта при определенных обстоятельствах". А учитывая сколько сетевого оборудования (а там есть прошивки, ага) и т. п. в мире существует... пусть лучьше будут договоренности... |
| Автор: _zorn_ 16.9.2016, 18:55 |
| Это я представил себя в качестве производителя сетевой железяки Сейчас то "договоренности" не особо соблюдаются бывает. IPv6 по идее должно решить эту "проблему". Но как видно проблема не в недостатке... хотя в нем тоже ) |
| Автор: Elfer 18.9.2016, 21:59 |
| Спасибо за толкование, надеюсь оно верное и прислушаюсь к этому. Поищу базу под IPv6 адреса. |