Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Получение IPv6, тестирование

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: ipv6, сетевой протокол
victor78
Отправлено: 19 Апреля, 2015 - 21:29:49
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Апр. 2015  


Помог: 0 раз(а)




Здравствуйте!
Возможно, такая тема уже была, но я ввожу в поиске "ipv6" и "ipv6 ipv6" и получаю в ответ, что я ничего не ввёл, так что извините за возможный повтор.

Вопрос в следующем.
Обычно пользовался для определения ip следующим скриптом

PHP:
скопировать код в буфер обмена
  1. function getip(){
  2.         if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"),"unknown"))
  3.                 $ip = getenv("HTTP_CLIENT_IP");
  4.         elseif (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
  5.                 $ip = getenv("HTTP_X_FORWARDED_FOR");
  6.         elseif (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
  7.                 $ip = getenv("REMOTE_ADDR");
  8.         elseif (!empty($_SERVER['REMOTE_ADDR']) && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
  9.                 $ip = $_SERVER['REMOTE_ADDR'];
  10.         else
  11.                 $ip = "unknown";
  12.  
  13.         return($ip);
  14. }


Вполне себе работал и работает. Кажется, вне зависимости от версий и настроек сервера даёт правильный ответ.
Но для приложения в VK в одном из методов требуется для проверки подлинности пользователя вводить его ip, причем если это IPv6 - то вводить IPv6.

Хотелось бы узнать у разбирающихся, будет ли работать приведенная функция и для ipv6, или требуется внести изменения? Какие?
Как можно проверить и убедиться, что она работает/не работает(т.е. эмулировать ipv6)? Существуют ли какие-то бесплатные сервисы для подобных задач?

Может быть, сама постановка вопроса не верна? Тогда хотелось бы прояснить, что не так.
Если это возможно, сделайте мне определенную скидку на то, что я не линуксоид Растерялся .
 
 Top
Мелкий Супермодератор
Отправлено: 19 Апреля, 2015 - 22:07:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




IP клиента, что v4 что v6 - это $_SERVER['REMOTE_ADDR']
Всё остальное - бредятина.


-----
PostgreSQL DBA
 
 Top
Ts.Saltan
Отправлено: 19 Апреля, 2015 - 23:46:23
Post Id



Посетитель


Покинул форум
Сообщений всего: 384
Дата рег-ции: Дек. 2013  
Откуда: Belarus


Помог: 22 раз(а)




Соглашусь с Мелкий

особенно нравится
Цитата:


Радость
CODE (htmlphp):
скопировать код в буфер обмена
  1. GET script.php
  2. X-Forwarder-For: 8.8.8.8

и, вау, у меня будет гугловский ip

(Отредактировано автором: 19 Апреля, 2015 - 23:47:59)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с сетью »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB