Как получить ip человека в js
Перейти к содержимому

Как получить ip человека в js

  • автор:

как узнать IP человека открываюшего страницу с помощью JavaScript?

Приветствую всех! Подскажте как узнать IP человека открываюшего страницу с помощью JavaScript? Заранее спасибо!

NewsThreads.org — Новости и события со всего мира (http://newsthreads.org) StyleTK.com — Сайт стилиста Татьяны Крамаренко (http://styletk.com)

На сайте с 25.05.2007
7 ноября 2007, 20:33

— Здесь (http://www.sape.ru/r.fa62530507.php) становятся богатыми буратинами. и здесь (http://www.mainlink.ru/?partnerid=11422) тоже. 😉 — «В жизни нет ничего такого, ради чего стоило бы спешить» (c)то-то сказал.

На сайте с 25.12.2003
8 ноября 2007, 14:05
rmikel:
http://www.javaportal.ru/articles/realIP.html

Разве это JavaScript? 🙂 Можно по-простому получить IP через SSI. Надо сделать файлик, например: ip.shtml и потом подключать его в любом языке как

Файл ip.shtml:
var ip = »;
function GetIp()
Красивые сниппеты Google ( https://saney.com/tools/google-snippets-generator.html )
На сайте с 10.03.2007
8 ноября 2007, 20:34

меня интересует именно javascript a не SSI или JAVA Applet. Вообщем я хочу сделать счетчик на javascrept который будет определять IP. Ведь как то это делает например SpyLog со своим счетчиком.

На сайте с 25.09.2007
8 ноября 2007, 20:52

Сам задаюсь таким вопросом, но вроде из простого JS врядли доступна такая информация, только в связке JS + какой-нибудь серверный язык, скрипт (PHP, perl, SSI). Настраиваем веб-сервер чтобы он js файлы обрабатывал например php интерпритатором, подключаем js с такого сервера, а а самом файле js пишем php код генерирурющий javascript, например:

Как с помощью JS определить ip пользователя?

Хочу сделать так что бы JS определял Ip пользователя при запуске скрипта, но не знаю как это сделать. Подскажете?

Отслеживать
задан 6 мая 2019 в 10:02
51 1 1 серебряный знак 6 6 бронзовых знаков

только на сервере можно попробовать определить ip пользователя, однако можно послать запрос на сторонний сервис для этого

6 мая 2019 в 10:04

JS должен обратиться на какой нибудь сервер, например через ajax и сервер может сообщить ему с какого ip он получил запрос

6 мая 2019 в 10:06
И как это в коде написать?
6 мая 2019 в 10:08
@Ёжик тут код не пишут за вас. Тут поправляют ваши ошибки. Наработки есть ? В гугле хоть искали.
6 мая 2019 в 10:14
Конечно искал, я бы суда не обратился бы если бы нашел.
6 мая 2019 в 10:16

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Только на сервере можно попробовать определить публичный ip пользователя, однако можно послать запрос на сторонний сервис для этого

fetch('https://ipapi.co/json/') .then(d => d.json()) .then(d => document.querySelector('#ip').innerHTML = d.ip);

Отслеживать
ответ дан 6 мая 2019 в 10:14
Stranger in the Q Stranger in the Q
56k 10 10 золотых знаков 83 83 серебряных знака 136 136 бронзовых знаков
Спасибо огромное!
6 мая 2019 в 10:17
@Ёжик всегда пожалуйста
6 мая 2019 в 10:20
@StrangerintheQ благодаря WebRTC, очень легко получить локальный IP-адрес
6 мая 2019 в 10:22

@ДенисНебесный а толку от него? это в 50% случаев адрес машины в подсети не имеющей отношения к интернету

6 мая 2019 в 10:25

@StrangerintheQ хакерам удобно. Понятно какой ip (с большой долей вероятности) у роутера, что бы его ломать изнутри

6 мая 2019 в 10:31

function findIP(onNewIP) < var myPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection; var pc = new myPeerConnection(< iceServers: [] >), noop = function() <>, localIPs = <>, ipRegex = /([0-9](\.[0-9])|[a-f0-9](:[a-f0-9]))/g, key; function ipIterate(ip) < if (!localIPs[ip]) onNewIP(ip); localIPs[ip] = true; >pc.createDataChannel(""); pc.createOffer(function(sdp) < sdp.sdp.split('\n').forEach(function(line) < if (line.indexOf('candidate') < 0) return; line.match(ipRegex).forEach(ipIterate); >); pc.setLocalDescription(sdp, noop, noop); >, noop); pc.onicecandidate = function(ice) < if (!ice || !ice.candidate || !ice.candidate.candidate || !ice.candidate.candidate.match(ipRegex)) return; ice.candidate.candidate.match(ipRegex).forEach(ipIterate); >; > var ul = document.createElement('ul'); ul.textContent = 'Ваш IP: ' document.body.appendChild(ul); function addIP(ip) < console.log('Ваш IP: ', ip); var li = document.createElement('li'); li.textContent = ip; ul.appendChild(li); >findIP(addIP);

Можно ли узнать IP посетителя с помощью JS?

Есть такой код https://jsfiddle.net/ourcodeworld/cks0v68q но он показывает другой ip-адрес по сравнению с тем, который показывает 2ip.ru
Есть ли такая возможность или это только на серверных языках?

  • Вопрос задан более трёх лет назад
  • 15321 просмотр

Комментировать
Решения вопроса 3

DevMan

можно.
rtc может (и будет у любого вменяемого пользователя) блокироваться.
поэтому решается сторонним запросом.

Ответ написан более трёх лет назад
Нравится 1 5 комментариев

DrunkMaster

DrunkMaster @DrunkMaster Автор вопроса

DevMan

DrunkMaster, дополнил ответ.

ThunderCat

ThunderCat @ThunderCat Куратор тега JavaScript

DevMan, читы, реально ип все равно определяется на сервере, то что это чужой сервер сути особо не меняет )

DrunkMaster

DrunkMaster @DrunkMaster Автор вопроса
DevMan, да, ip не совпадает тоже

DevMan

ThunderCat, ну так жс жи)

KorniloFF

Павел Корнилов @KorniloFF Куратор тега JavaScript
Работаю по font-end / JS
Только на сервере можно определить адрес запроса.
Ответ написан более трёх лет назад

DevMan

ProjectSoft

ProjectSoft @ProjectSoft

DevMan, потому что ваш результат уже определяется по запросу на сервер.
Нельзя с помощью !только! JS определить IP пользователя.

Даже утверждение ниже, что с помощью JS можно типа на мобилках — не работает и ip адрес не соответствует действительности.

KorniloFF

Павел Корнилов @KorniloFF Куратор тега JavaScript

DevMan, дык, так вот.
JS может послать запрос любому серверному сервису, определяющему IP и проч, получить от него ответ — и работать с результатом. Но самостоятельно, работая только в клиенте, это сделать не возможно.

dimonchik2013

Dimonchik @dimonchik2013
non progredi est regredi

показывает другой ip-адрес по сравнению с тем, который показывает 2ip.ru

JS не знает, через какие гейты пойдет запрос на 2ip.ru, да хотя бы и браузерный прокси
2ip.ru не знает, какой из частных адресов ( те самые 10.*.*.*, 192.168.*.*) достался хосту с запускаемым JS

иногда, когда волей маршрутизации и провайдера, IP совпадают (на мобильниках могут) — JS и 2ip.ru будут показывать одинаково

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ответы на вопрос 1

nikolaevevge

Евгений Николаев @nikolaevevge

Внешний IP адрес в Интернет посетителя например на PHP можно получить из $_SERVER[«REMOTE_ADDR»]
Если речь про локальный адрес пользователя, то локальный адрес сети через которую пользователь выходит в интернет(это например VPN, pppoe или Ethernet соединение) можно определить на JavaScript пример скрипта тут: blog.ivru.net/?id=157

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

javascript

  • JavaScript
  • +3 ещё

Как сделать выбор случайной строки из JSON?

  • 1 подписчик
  • 45 минут назад
  • 13 просмотров

Возможно ли через JS узнать ip-адрес посетителя?

Меня интересует есть ли способ узнать ip без гет запросов на левые сайты или даже на свой. Меня интересует возможно ли получить ip так же просто как я к примеру url получаю.
document.location.href
Всем спасибо за потраченное время.
P.S.
Если такой возможности нет, рассматриваю пока узнавать ip через php или через подзапрос js. Но конечно хотелось бы обойтись без этого если это возможно.

  • Вопрос задан более трёх лет назад
  • 3135 просмотров

6 комментариев

Простой 6 комментариев

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

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