Ayola.net
Новости: В связи с обилием спама, постинг на форуме временно закрыт.

Для связи с поддержкой используйте тикеты в панели управления.
 
*
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь. Июль 22, 2017, 01:34:23


Войти


Страниц: [1]
  Печать  
Автор Тема: узнать IP, для тех кто не пользуется "местными"CMS  (Прочитано 4827 раз)
0 Пользователей и 1 Гость смотрят эту тему.
JeFF
Новичёк
*

Карма: 4
Сообщений: 12


иц ми...


Просмотр профиля WWW
« : Май 02, 2008, 01:35:44 »

У меня была такая проблема - у всех посетителей моего сайта определялся одинаковый IP

тут много говорилось о том как узнать IP посетителя  и предлогался в основном такой вариант:
заменить $_SERVER['REMOTE_ADDR']; на $_SERVER['HTTP_X_REAL_IP'];
но мне (как и всем кто сам пишет код для своего сайта) это непомогло...

т.к. echo $_SERVER['HTTP_X_REAL_IP']; - не выводит ничего, или выводит ошибку (нотис)...

Вот решение:

function getRemoteIP($_single = true)
      {
       $ip = array($_SERVER['REMOTE_ADDR']);
        if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
      {
         if (isset($_SERVER['HTTP_X_REAL_IP']))
       {
          array_unshift($ip, $_SERVER['HTTP_X_REAL_IP']);
         }
          array_unshift($ip, $_SERVER['HTTP_X_FORWARDED_FOR']);
        }
      $ip = array_values(array_unique($ip));
        if (isset($ip[0]) == false)
       {
          $ip[0] = '0.0.0.0';
         }
        if ($_single)
       {
          return $ip[0];
         }
      return $ip;
     }
    

echo "<p>Ваш IP: ".getRemoteIP()."</p>";

с уважением, JeFF.
« Последнее редактирование: Май 02, 2008, 01:39:55 от JeFF » Записан

вот, как то так...
http://naladoni.zx6.ru
support@ayola.net
Вне категорий
Маэстро
*****

Карма: 267
Сообщений: 4901



Просмотр профиля WWW
« Ответ #1 : Май 02, 2008, 02:37:03 »

echo $_SERVER['HTTP_X_REAL_IP']; - вот это ОБЯЗАНО выводить правильный IP Улыбающийся
Записан

Бесплатный хостинг с PHP и MySQL

Вопросы и ответы - http://faq.ayola.net
Правка .htaccess - http://htaccess.ayola.net
Техподдержка - http://www.ayola.net/panel/tickets.php
По вопросам хостинга личные сообщения не пишите. Для этого есть тикеты.
Константин Абрамов
Просветлённый
****

Карма: 28
Сообщений: 876

Нужен сайт? Нет проблем!


Просмотр профиля WWW
« Ответ #2 : Май 02, 2008, 02:45:34 »

echo $_SERVER['HTTP_X_REAL_IP']; - вот это ОБЯЗАНО выводить правильный IP Улыбающийся

То есть для получения реального IP будет достаточно одной строчки? А что тогда в первом сообщении таким огромным куском кода выполняется?
Записан

ШкольнЕГИ, вам за книжки, а не ко мне в ICQ со своими движковыми проблемами. Бесплатно ни на кого не работаю. Учитесь уважать чужое время и труд!
JeFF
Новичёк
*

Карма: 4
Сообщений: 12


иц ми...


Просмотр профиля WWW
« Ответ #3 : Май 02, 2008, 18:11:23 »

То есть для получения реального IP будет достаточно одной строчки? А что тогда в первом сообщении таким огромным куском кода выполняется?

Для получения IP достаточно одной строчки - $_SERVER['REMOTE_ADDR'];
если вывести это на экран ( echo $_SERVER['REMOTE_ADDR']; ) , то у всех "посетителей сайта" окажется одинаковые IP

а echo $_SERVER['HTTP_X_REAL_IP']; - возвращает пустоту... (точнее нотис, если его не подавить - @)

а вот для получения РЕАЛЬНОГО IP нужен "такой огромный кусок кода" как в первом сообщении
 
проверял 155 раз...

P.S. Владельцев CMS Joomla, PHP Nuke, e 107, phpBB2, phpBB3 - это не касается, у них там "свои разборки".

P.S.S. видать таких как я не много (
« Последнее редактирование: Май 03, 2008, 06:05:55 от JeFF » Записан

вот, как то так...
http://naladoni.zx6.ru
Astraller™
Маэстро
*****

Карма: 151
Сообщений: 1389

Вселенское зло


Просмотр профиля WWW
« Ответ #4 : Май 03, 2008, 13:44:13 »

Для получения IP достаточно одной строчки - $_SERVER['REMOTE_ADDR'];
если вывести это на экран ( echo $_SERVER['REMOTE_ADDR']; ) , то у всех "посетителей сайта" окажется одинаковые IP
Здесь все все работают через Nginx, а значит $_SERVER['HTTP_X_FORWARDED_FOR']; будет возвращать правильный, проксифицированный IP.
Записан

Гамлета здесь больше нет. Осталась только тень.
Константин Абрамов
Просветлённый
****

Карма: 28
Сообщений: 876

Нужен сайт? Нет проблем!


Просмотр профиля WWW
« Ответ #5 : Май 16, 2008, 03:45:47 »

Так какой функцией-то пользоваться? Улыбающийся Запутали уже. И поясните, пожалуйста, что такое проксифицированный IP? Чем он отличается от обычного IP и какие IP в принципе существуют?
Записан

ШкольнЕГИ, вам за книжки, а не ко мне в ICQ со своими движковыми проблемами. Бесплатно ни на кого не работаю. Учитесь уважать чужое время и труд!
jr
Старший Новичёк
**

Карма: 3
Сообщений: 78

Злобный Ёж


Просмотр профиля WWW
« Ответ #6 : Май 16, 2008, 15:01:35 »

Так какой функцией-то пользоваться? Улыбающийся Запутали уже. И поясните, пожалуйста, что такое проксифицированный IP? Чем он отличается от обычного IP и какие IP в принципе существуют?
http://www.ayola.net/forum/index.php/topic,3611.0.html
Записан

Error: The server is unwilling to process the request.
So sorry to disappoint you all, but you wont be dying tomorrow.
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.13 | SMF © 2006, Simple Machines LLC

2003-2008 © ООО "Инфотур" - Бесплатный хостинг Ayola.net
Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Страница сгенерирована за 0.068 секунд. Запросов: 17.