Дополнительно
Получение IP-адреса клиента через веб-службу третьей стороны
Я хотел бы прочитать свой ip-адрес со следующей страницы (http://l2.io/ip или другой) с помощью javascript и сохранить его в моей переменной "myIp".
function getMyIP() {
var myIp;
...
return myIp;
}
Как это можно сделать?
15
3
Проверяя свой связанный сайт, вы можете включить тег скрипта, передающий параметр
?var=desiredVarName
, который будет установлен как глобальная переменная, содержащая IP-адрес:[Demo][2]
Думаю, мне не нужно говорить, что это можно легко подделать (с помощью прокси-серверов или поддельных заголовков запросов), но в любом случае это стоит отметить.
Поддержка HTTPS
Если ваша страница обслуживается по протоколу
https
, большинство браузеров блокируют содержимое той же страницы, обслуживаемой по протоколуhttp
(включая скрипты и изображения), поэтому возможности довольно ограничены. Если у вас < 5k хитов/день, можно использовать Smart IP API. Например:[Demo][4]
Edit: Судя по всему, срок действия сертификата этого сервиса
https
истек, поэтому пользователю придется добавлять исключение вручную. Откройте его API напрямую, чтобы проверить состояние сертификата: https://smart-ip.net/geoip-json.С внутренней логикой
Наиболее устойчивым и простым способом, в случае, если у вас есть логика внутреннего сервера, будет просто вывести IP запрашивающего пользователя внутри тега
<script>
, таким образом, вам не нужно будет полагаться на внешние ресурсы. Например:PHP:
В этом связанном ответе также есть более надежное PHP-решение (с учетом заголовков, которые иногда устанавливаются прокси-серверами).
C#:
Это также позволяет получить информацию о клиенте.