Определение IP адреса
народ как при помощи яваскрипт определить IP адрес?
|
никак
|
JavaScript не может определять IP.
Но можете использовать следующйи скрипт Код:
<script type="text/javascript" Скрипт используется, как самореклама сервера. |
gethostbyaddr - получает имя Internet-хоста, соответствующее данному IP-адресу
gethostbyname - получает IP-адрес, соответствующее имени данного Internet-хоста gethostbynamel - получает список IP-адресов, соответствующих имени данного Internet-хоста p.s. естественно это не js а php |
q--b,
это к чему вообще? |
Цитата:
а если для определения вновь пришедшего юзверя так тут еще проще . . . <?php $ip=$_SERVER['REMOTE_ADDR']; echo $ip; ?> СРАЗУ ОГОВОРЮСЬ - ПРИВЕДЕННЫЙ ВЫШЕ ПРИМЕР ДЛЯ ОПРЕДЕЛЕНИЯ ЙП ЭТО НЕ JAVASCRIPT вот такой вот простецкий скрипт тупо напечатает на странице йп с которого пришли. естественно переменную можно обработать по желанию . . . только вот вы сами то определитесь зачем вам его определять ? и какой именно ? Что значит - IP адрес? Адрес хоста, который произвел соединение с нашим сервером. Этот адрес по определению может быть только один. Один, а не 5 по цепочке. Рассмотрим типичный пример: Есть пользовательский компьютер, который находится в офисной сети. IP компьютера 192.168.0.22 Офисная сеть включена через роутер в сеть здания. IP роутера - 10.10.0.3 Сеть здания, в свою очередь, подключена к интернету, через роутер. IP роутера - 77.88.22.11 Пользователь заходит на сайт, через НТТР прокси. IP прокси - 212.121.0.8 Так вот, сеть TCP/IP так устроена, что каждый следующий узел ничего не знает о предыдущих. Есть только пара хостов, которые соединяются друг с другом. В самих TCP/IP пакетах никакой информации о предыдущих хостах не предусмотрено. Поэтому, как это ни обидно, но реальным адресом мы можем считать только последний в цепочке - адрес HTTP прокси p.s. а если таких проксей будет не 1 а 20 ? и посетитель будет работать из под какой нибудь shared ip программы которая будет менять постоянно доступные прокси из списка . . .вы определитесь для чего вам это надо и надо ли вообще ? |
q--b,
Вопрос был, как через JavaScript определить IP пользователя. |
Цитата:
|
При разрешенном java в браузере:
<script type="text/javascript"> function natIP() { var w = window.location; var host = w.host; var port = w.port || 80; var Socket = (new java.net.Socket(host,port)).getLocalAddress().getHostAddress(); return Socket; } </script> |
Цитата:
Определение IP JavaScript |
так определяйте айпи php-скриптом а яваскриптом делайте ajax-запрос, это как вариант. можно даже подключить .js скрипт который будет на самом деле php-скриптом и который просто будет ставить глобал переменную. ну только у себя на сервере его разместите.
|
Цитата:
|
У меня вообще Москву как Нижний Новогород определил. хм..
|
Цитата:
Полная версия всего, что выше.) -> http://www.phpfaq.ru/ip |
http://habrahabr.ru/post/158417/ - вот еще поучительная история в тему)
|
пусть здесь полежит. Яндекс карты API показывает город http://jsfiddle.net/HE2nY/1118/
<script src="https://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script> <script> window.onload = function() { alert (ymaps.geolocation.city); }; </script> |
Спешу на помощь!!
вставьте данный html-код на вашу страницу <script type="text/javascript"> var userip; </script> <script type="text/javascript" src="https://l2.io/ip.js?var=userip"></script> <script type="text/javascript"> document.write("Your IP is :", userip); </script> |
Я один не понимаю, в каких таких случаях может понадобиться определить IP юзера на клиенте? Если Вы его определяете, значит куда-то хотите отправить на сервер... вот на сервере и нужно определять.
а.д.м, ага, только "var" не хватает. Если уж сервис предоставляет такую возможность, то пусть предоставляет её правильно. |
Цитата:
Вроде же все корректно. Объявляется переменная, подключается скрипт, которому в параметрах передается её наименование, далее значение этой переменной выводится на страницу. Что я упустил? |
Nexus, ну так в данном случае юзер сам её должен определять, что не правильно. Почему бы сервису сразу не отдавать JS, где переменная объявлена через var? Тут спорно конечно, потому что такие вещи никто так не собирает, обычно данные отдаются в каком-нибудь формате, типа JSON, XML и т.д.
Лучше всего отдавать просто какую-нибудь функцию, типа "getUserIp". |
ruslan_mart, я, честно говоря, думал, что в подключаемом файле будет проверка на наличие переменной, ну или обращение к переменной, как к свойству объекта window..., а там все совсем иначе.
|
Объясните, что вы там странного нашли? Обычное общение по JSONP. Не отдается с var, потому что в ваших скриптах эта переменная может быть и не определена, а у других будет определена и внешний скрипт её затрёт.
|
Зачем вообще объявлять переменную userip, она ведь глобально пишется.
|
Цитата:
Если определять подобную информацию разово, то определять её в глобальной области видимости и желательно константой, чтобы эти данные потом можно было использовать без создания очередного запроса. |
Цитата:
<script type="text/javascript" src="https://l2.io/ip.js?var=abvgd"></script> <script type="text/javascript"> var abvgd; document.write("Your IP is :", abvgd); </script> Цитата:
|
Интересный скрипт, а можно как то прописать редирект в зависимости от геолокации по IP на другой домен или другой адрес страницы при посещении сайта?
|
JAMLIGHT, этим, имхо, сервер должен заниматься.
|
Цитата:
Иногда проблема в SSL, а точнее в его отсутствии. Например так было в моём случае. Я хотел получать IP адрес и передавать его в параметры Метрики, и вот никак IP в параметры не передавался. Оказалось нужно было просто забирать IP с ресурса, на котором есть SSL https://javascript.ru/forum/showthre...831#post521831 |
|
Цитата:
А вообще сервер сам определяет ip. |
Часовой пояс GMT +3, время: 04:47. |