Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/206: Рейтинг темы: голосов - 206, средняя оценка - 4.81
0 / 0 / 0
Регистрация: 20.09.2006
Сообщений: 24

Как определить IP-адрес пользователя

23.09.2006, 21:08. Показов 38321. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как узнать IP пользователя?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.09.2006, 21:08
Ответы с готовыми решениями:

Как определить адрес пользователя (сидящего за прокси) из сервлета?
... пользователь сидит за проксей ? - про существование переменной HTTP_X_FORWARDED_FOR я в курсе, только вот не знаю как ее вытащить. И...

Определить адрес пользователя
Привет возник такой вопрос как определить адрес пользователя чтобы предлагать услуги, допустим ближайший магазин компаний. Вообще в какую...

Как определить ip адрес пользователя, зашедшего на сайт?...если сайт лежит на локальной машинке
Уважаемые коллеги, подскажите: как определить ip адрес пользователя, зашедшего на сайт?...если сайт лежит на локальной машинке. На нее...

18
 Аватар для LastSoul
7 / 9 / 10
Регистрация: 22.08.2006
Сообщений: 378
23.09.2006, 21:17
$REMOTE_ADDR
1
0 / 0 / 0
Регистрация: 20.09.2006
Сообщений: 24
23.09.2006, 21:25  [ТС]
эээ..... И как это применить?
0
 Аватар для LastSoul
7 / 9 / 10
Регистрация: 22.08.2006
Сообщений: 378
23.09.2006, 22:00
Цитата Сообщение от akhtung
эээ..... И как это применить?
ну напиши:
echo $REMOTE_ADDR;
вот тебе и выведет ip юзера на экран
0
0 / 0 / 0
Регистрация: 20.09.2006
Сообщений: 24
17.10.2006, 17:56  [ТС]
Подскажи, а что еще я могу узнать о пользователе?
0
 Аватар для LastSoul
7 / 9 / 10
Регистрация: 22.08.2006
Сообщений: 378
18.10.2006, 11:25
Цитата Сообщение от akhtung
Подскажи, а что еще я могу узнать о пользователе?
незнаю даже

но мне кажется с помощью php много о юзере не узнаешь, т.к. он (интерпретатор php) работает на стороне сервера.
в этом случае надо юзать то, что находится ближе к юзеру - JS например
0
0 / 0 / 0
Регистрация: 24.03.2007
Сообщений: 3
24.03.2007, 11:14
Почему не узнаешь, можно узнать ip, софт, реферер и т.д. Почитай про переменные окружения и зарезервированые переменные php
0
Гость
12.04.2007, 22:47
print_r($_ENV);

--------------
izra.ru
tarantyl
01.06.2009, 12:46
Вот тут описан способ который можно попробовать IP пользователя, страна город, узнать страну и город пользователя по IP
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
01.06.2009, 14:33
Погугли по поводу $_SERVER.
0
Почетный модератор
 Аватар для Humanoid
11560 / 4354 / 453
Регистрация: 12.06.2008
Сообщений: 12,455
01.06.2009, 19:15
Подняли тему 2007 года
И если точнее, то $_SERVER['REMOTE_ADDR']
0
 Аватар для ZhenyaZERO
1 / 1 / 0
Регистрация: 11.10.2015
Сообщений: 33
06.11.2015, 21:25
Можно надежней:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php 
 
     function getIP(){
    if (!empty($_SERVER['HTTP_CLIENT_IP'])){
        //check ip from share internet
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    }elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
        //to check ip is pass from proxy
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else {
        $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
    }
    $ip = getIP();
    echo 'Ваш IP - '.$ip.'!';
     ?>
1
10.11.2015, 23:33

Не по теме:

Цитата Сообщение от Humanoid Посмотреть сообщение
Подняли тему 2007 года
фигня, два года ни о чем. Вот ZhenyaZERO показал это наглядно..

0
 Аватар для GoDr
90 / 79 / 33
Регистрация: 17.08.2015
Сообщений: 512
Записей в блоге: 1
11.11.2015, 10:03
Цитата Сообщение от Humanoid Посмотреть сообщение
Подняли тему 2007 года
Подняли тему 2009 года

Добавлено через 4 минуты
KOPOJI, эта тема в большей части бестолковая и постоянно все соревнуются как же всё таки узнать IP или какой IP правильнее

PHP
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
29
30
31
32
33
34
    function getIP()
    {
        $serverVars = array(
            "HTTP_X_FORWARDED_FOR",
            "HTTP_X_FORWARDED",
            "HTTP_FORWARDED_FOR",
            "HTTP_FORWARDED",
            "HTTP_VIA",
            "HTTP_X_COMING_FROM",
            "HTTP_COMING_FROM",
            "HTTP_CLIENT_IP",
            "HTTP_XROXY_CONNECTION",
            "HTTP_PROXY_CONNECTION",
            "HTTP_USERAGENT_VIA"
        );
        foreach ($serverVars as $serverVar) {
            if (!empty($_SERVER) && !empty($_SERVER[$serverVar])) {
                $proxyIP = $_SERVER[$serverVar];
            } elseif (!empty($_ENV) && isset($_ENV[$serverVar])) {
                $proxyIP = $_ENV[$serverVar];
            } elseif (@getenv($serverVar)) {
                $proxyIP = getenv($serverVar);
            }
        }
        if (!empty($proxyIP)) {
            $isIP = preg_match('|^([0-9]{1,3}\.){3,3}[0-9]{1,3}|', $proxyIP, $regs);
            $long = ip2long($regs[0]);
            if ($isIP && (sizeof($regs) > 0) && $long != -1 && $long !== false) {
                return $regs[0];
            }
        }
 
        return $_SERVER['REMOTE_ADDR'];
    }
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
11.11.2015, 19:37
Цитата Сообщение от ZhenyaZERO Посмотреть сообщение
Можно надежней:

Не по теме:

Я уверен что автор с 2006 года сидит и ждет варианта понадежней. Красава!

0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
11.11.2015, 22:37
Цитата Сообщение от GoDr Посмотреть сообщение
и постоянно все соревнуются как же всё таки узнать IP или какой IP правильнее
2006-2007-2009-2015 ну прям ппц, постоянно донельзя..
Цитата Сообщение от GoDr Посмотреть сообщение
как же всё таки узнать IP или какой IP правильнее
И вы, конечно же, считаете, что ваш код это делает правильнее всего? Код совершенно не продуманный
Неужели вы считаете, что на какой-то итерации цикла вдруг пропадут (или появятся, если отсутствовали) $_SERVER, $_ENV? К чему проверка сначала в $_ENV, а затем в getenv? Вы знаете разницу между $_ENV и getenv? Зачем насильно подавлять ошибки при использовании getenv, если там в принципе не может быть никакой ошибки? Почему использование проверки с preg_match и ip2long для всех вариантов, кроме $_SERVER['REMOTE_ADDR'], чем он так разительно отличается ? Да и вообще, нужна ли эта проверка в данной функции?
К чему тут цикл? И почему, даже в случае найденного вхождения, цикл продолжается, а не прерывается?
Проверять существование суперглобальных переменных.. Если их у вас не существует (при запуске из браузера, конечно), то вам явно надо забыть о такой мелочи, как IP адрес пользователя - а нужно срочно разбираться, что же случилось с вашим PHP и что его грохнуло..

Может, лучше так тогда?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$serverVars = array_flip(array(
    'HTTP_X_FORWARDED_FOR',
    'HTTP_X_FORWARDED',
    'HTTP_FORWARDED_FOR',
    'HTTP_FORWARDED',
    'HTTP_VIA',
    'HTTP_X_COMING_FROM',
    'HTTP_COMING_FROM',
    'HTTP_CLIENT_IP',
    'HTTP_XROXY_CONNECTION',
    'HTTP_PROXY_CONNECTION',
    'HTTP_USERAGENT_VIA'
));
if(($key = array_intersect_key($serverVars, $_SERVER)))
    return $_SERVER[current($key)];
if(($key = array_intersect_key($serverVars, $_ENV)))
    return $_ENV[current($key)];
return $_SERVER['REMOTE_ADDR'];
А вообще, тырнет и так кишит всевозможными способами определения IP браузера..
0
 Аватар для GoDr
90 / 79 / 33
Регистрация: 17.08.2015
Сообщений: 512
Записей в блоге: 1
11.11.2015, 22:43
Цитата Сообщение от KOPOJI Посмотреть сообщение
И вы, конечно же, считаете, что ваш код это делает правильнее всего?
Нет конечно! просто ещё один альтернативный вариант

Я привёл этот код исключительно имея в виду это:
Цитата Сообщение от KOPOJI Посмотреть сообщение
А вообще, тырнет и так кишит всевозможными способами определения IP браузера..
Как видишь, мысли в конечно итоге у нас одинаковые

Я вообще забил на такие сложности и просто делаю это
PHP
1
return $_SERVER['REMOTE_ADDR'];
0
11.11.2015, 22:50

Не по теме:

а я поступаю еще проще - я не использую вообще ничего из этого.

0
Заблокирован
12.11.2015, 19:35
KOPOJI, хотел пасип ставить, аннету кнопки. Ну на словах: спасибо, дурацкие темы имеют дурацкие обсуждения
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.11.2015, 19:35
Помогаю со студенческими работами здесь

Как внести IP адрес пользователя в БД?
нужно в MVC внести код для определения IP пользователя. После, это IP должно быть внесено в бд, в моём случае phpmyAdmin, и храниться там....

Имя Пользователя Почему-то Подставляется Как Интернет-адрес
Добрый день! В гугле никак не могу найти похожую ситуацию, может кто-то из вас с таким встречался. В организации два почтовых сервера,...

Как определить IP-адрес сети, зная IP-адрес узла назначения и маску сети
Добрый вечер, форумчане! Дали задачку одну: &quot;Найти IP-адрес сети, зная IP-адрес узла назначения=12.34.56.83 и маску...

Как организовать отправку е-майла без вмешательства пользователя на заранее определенный адрес
Всем привет! Задача следующая: приложение аттачит базу данных к MS SQL Server на лок. машине/сервере пользователя. По итогам аттачинга...

Вычислить адрес верхушки стека, адрес следующей команды, адрес переменной, адрес которой содержится в BX
Помогите решить следующие задачи: 1.Вычислить адрес верхушки стэка. 2.Вычислить адрес следующей выполняемой программы. 3. Вычислить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru