За последние 24 часа нас посетили 21474 программиста и 1015 роботов. Сейчас ищут 713 программистов ...

php Real ip address

Тема в разделе "PHP для новичков", создана пользователем MouseZver, 15 дек 2016.

Метки:
  1. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.752
    Симпатии:
    1.322
    Адрес:
    Лень
    Столкнулся с проблемой, а именно с HTTP_X_FORWARDED_FOR возвращая 3 ip адреса, не уж то придется через explode проводить чтобы получить действующий ip клиента ? Интересно было как вы бы решили вопрос таков? Что в инете городят 2013 года мягко сказать - отстой... Ибо люди не сталкивались с ситуацией, обходя банальным решением $_SERVER['REMOTE_ADDR']
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    хороший вариант, возможно ещё как-то через DNS можно узнать IP
     
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.752
    Симпатии:
    1.322
    Адрес:
    Лень
    не вот смотри пример кода
    PHP:
    1. if ( !empty ( $_SERVER['HTTP_CLIENT_IP'] ) && strcasecmp ( $_SERVER['HTTP_CLIENT_IP'], "unknown" ) )
    2. {
    3.     self::$IP = $_SERVER['HTTP_CLIENT_IP'];
    4. }
    5. elseif ( !empty ( $_SERVER['HTTP_X_FORWARDED_FOR'] ) && strcasecmp ( $_SERVER['HTTP_X_FORWARDED_FOR'], "unknown" ) )
    6. {
    7.     self::$IP = $_SERVER['HTTP_X_FORWARDED_FOR'];
    8. }
    9. else
    10. {
    11.     self::$IP = $_SERVER['REMOTE_ADDR'];
    12. }
    где $_SERVER['HTTP_X_FORWARDED_FOR'] пришлет 128.0.0.0, 169.0.0.0, 169.0.0.0 строку

    в данной реальный айпи: 128.0.0.0
    мне приходится решать эту проблему типичным explode, но постоянно чувствую что такой подход не оригинальный или даже тупой. Реализация такая вообще бредовая или оправданная? Так как постоянно что - то не то, хотя с другой стороны это короткое решение. Но explode...
     
  4. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.553
    Симпатии:
    631
    Все перечисленные IP - реальные, в этом главная проблема.
    Переходите на ipv6 и будет щасте.
     
  5. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.752
    Симпатии:
    1.322
    Адрес:
    Лень
    не совсем то
    --- Добавлено ---
    придется костыли мутить, всем спс
     
    denis01 нравится это.