июля
20

PHP – определить IP пользователя

Author admin    Category PHP     Tags

PHP – определить IP пользователя

Довольно часто для новичков (и не очень) встаёт вопрос с определением IP адреса пользователя. Зачем каждый из программистов его определяет и как использует – уже другой вопрос (хотя должен быть по сути первостепенным).

Но тут может встать вопрос с использованием прокси-сервера, вследствие чего полученное значение будет не совсем верное. Что же в этом случае делать? Для примера вы можете воспользоваться следующей функцией:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function getRealIpAddr() {
     if (!empty($_SERVER['HTTP_CLIENT_IP']))
     {
    $ip=$_SERVER['HTTP_CLIENT_IP'];
     }
     elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
     {
    $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
      }
     else
     {
    $ip=$_SERVER['REMOTE_ADDR'];
      }
     return $ip;
}

Однако у этого способа есть существенные недостатки – очень подробно о них написано в этой статье.

Если кратко: за реальный IP адрес пользователя можно брать только значение REMOTE_ADDR (но адресом чего именно это будет – вопрос). Все остальные параметры массива $_SERVER можно использовать только как дополнение к REMOTE_ADDR.


Нет похожих статей.

Комментарии

  • Maks 8 августа 2011 в 06:21

    прикольная капча

  • влад 24 января 2012 в 11:04

    внатуре прикольная (я почему-то даже не справился с первого раза)
    а текст ни о чем, содран 100500 раз, но почему-то на 1ом месте в Яндексе

  • Женя 30 января 2012 в 14:18

    Да хороший скрипт я сам юзаю)

Добавить комментарий

Перед отправкой формы:
Human test by Not Captcha