ip адрес сервера php

Как определить IP-адрес сервера в PHP

Как я могу определить IP-адрес сервера в PHP?

15 ответов:

Если вы используете PHP версии 5.3 или выше, вы можете сделать следующее:

Это хорошо работает, когда вы запускаете автономный скрипт, а не через веб-сервер.

когда вы на IIS, попробуйте:

кроме того, потому что gethostbyname откатывается на общедоступные DNS-записи тестирования сервер с неопубликованными или неверными публичными DNS-записями (например, вы обращаетесь к серверу по localhost или IP-адрес, или если вы переопределяете общедоступный DNS с помощью локального hosts file), то вы получите обратно либо нет IP-адрес (он будет просто возвращать имя хоста) или еще хуже он будет возвращать неправильный адрес, указанный в публичных записях DNS, если он существует или если есть подстановочный знак для домена.

в зависимости от ситуации, вы также можете попробовать третий подход делаю что-то вроде этого:

это имеет свои недостатки (зависит от конкретного стороннего сайта, и могут быть сетевые настройки, которые маршрутизируют исходящие соединения через другой хост или прокси-сервер) и как gethostbyname это может быть медленно. Я честно не уверен, какой подход будет правильным чаще всего, но урок, который нужно принять близко к сердцу, заключается в том, что конкретные сценарии/конфигурации приведут к неправильным выводам для всех этих подходов. поэтому, если возможно, проверьте, что подход вы использование возвращает значения, которые вы ожидаете.

Я пришел на эту страницу, ища способ получить свой собственный ip-адрес, а не один из удаленной машины, подключенной ко мне.

Это не будет работать для машины windows.

но в случае, если кто-то ищет то, что я искала:

Источник

Как в PHP узнать IP пользователя и определить его страну?

ip адрес сервера php. Смотреть фото ip адрес сервера php. Смотреть картинку ip адрес сервера php. Картинка про ip адрес сервера php. Фото ip адрес сервера php

ip адрес сервера php. Смотреть фото ip адрес сервера php. Смотреть картинку ip адрес сервера php. Картинка про ip адрес сервера php. Фото ip адрес сервера php

В этой статье рассмотрим, как в PHP можно узнать IP клиента и сервера, а также разберём как зная IP клиента определить его страну и город.

Как в PHP получить IP адрес посетителя сайта

Определение страны по ip с помощью Sypex Geo

Основные шаги по созданию php скрипта, с помощью которого можно будет определять страну по ip:

1. Скачаем Sypex Geo для PHP и базу данных стран. Sypex Geo распространяется по лицензии BSD, т.е. является абсолютно бесплатным.

2. Распакуем архивы и загрузим на сервер файлы «SxGeo.php» и «SxGeo.dat». В качестве примера, создадим на сервере папку SxGeo и загрузим эти файлы в неё.

3. Создадим свой скрипт, например, «get_country_code.php».

4. Вставим в этот файл следующий код:

5. Включим файл «get_country_code.php» в другие скрипты, в которых нужно реализовать выполнение кода в зависимости от принадлежности ip посетителя к той или иной стране.

Определение города по ip с помощью Sypex Geo

Для определения города, потребуется загрузить архив с базой данных городов для Sypex Geo, распаковать его и загрузить на сервер.

Скрипт в этом случае будет следующий:

Для автоматического обновления баз можно воспользоваться этим архивом. В этом архиве находится php скрипт. Этот скрипт необходимо настроить, т.е. указать в нём URL для скачивания базы и пути к файлам на сервере. После этого загрузить его на сервер и настроить его запуск по расписанию с помощью cron.

Определение страны и города по ip через сервис через сервис ipstack

Рассмотрим ещё один вариант определения в php местоположения по ip посетителя, но уже не через Sypex Geo, а с помощью сервиса ipstack.

Сервис ipstack имеет бесплатный план, который позволяет обрабатывать до 10000 запросов в месяц.

ip адрес сервера php. Смотреть фото ip адрес сервера php. Смотреть картинку ip адрес сервера php. Картинка про ip адрес сервера php. Фото ip адрес сервера php

Для получения бесплатного плана нажимаем на кнопку «GET FREE API KEY» и переходим на страницу, на которой нужно заполнить регистрационную карточку.

После регистрации, на личной странице ipstack вам будет назначен «API Access Key», который нужно скопировать. Он нам потребуется при создании php скрипта.

Как в PHP получить IP адрес сервера

Узнать IP адрес сервера в PHP можно с помощью следующей инструкции:

Пример реализации определения локации в CMS MODX

В качестве примере рассмотрим, как в CMS MODX Revolution можно очень просто без сторонних сервисов осуществить определение страны посетителя. Разработаем решение на базе Sypex Geo.

1. Для этого сначала нужно загрузить Sypex Geo в проект:

ip адрес сервера php. Смотреть фото ip адрес сервера php. Смотреть картинку ip адрес сервера php. Картинка про ip адрес сервера php. Фото ip адрес сервера php

Файл «SxGeo.php» – это основной скрипт, а «SxGeo.dat» – это база стран. Этих двух файлов достаточно для определения страны пользователя по его ip. Дополнительно в каталоге SxGeo ещё расположен файл «SxGeoCity.dat», данный файл в текущей реализации не нужен, он может потребовать, если в проекте потребуется определять не только страну пользователя, а ещё его регион и город.

2. Создадим сниппет, например «get_location.php». В качестве примера организуем это с помощью файлов. Для этого нужно чтобы был установлен pdoTools и в настройках включена опция «Использовать Fenom на страницах».

Код сниппета «get_location.php»:

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

Источник

Как получить внешний IP-адрес моего сервера с помощью PHP?

11 ответов

просто запросите хост, который возвращает ваш IP-адрес:

или настройте службу, которая просто повторяет только IP, и используйте ее следующим образом:

настройте службу самостоятельно, просто повторив удаленный IP-адрес или заплатите кому-нибудь за его размещение. Do не использовать чужой сервер без разрешения. Ранее этот ответ был связан с моей службой, которая теперь попадает несколько раз в секунду.

обратите внимание, что в IP-сети с одним или несколькими NATs, возможно несколько внешние IP-адреса. Это даст вам только один из них.

кроме того, это решение, конечно, зависит от наличия удаленного хоста. Однако, поскольку нет широко реализованного стандарта (нет ISP и только некоторые домашние маршрутизаторы реализуют UPnP), другого пути нет чтобы получить внешний IP-адрес. Даже если бы вы могли поговорить со своим местным NAT, вы не могли быть уверены, что за ним нет другого Ната.

нет способа получить ваш базовый IP-адрес, который был назначен вашим провайдером через обычный PHP, если вы используете маршрутизатор. Способ получить внешний IP-адрес-найти службу, которая получит его для вас и Эхо-адрес обратно к вам. Я нашел удобный сервис, который делает именно это. http://ipecho.net/

вы можете использовать:

вы могли разобрать его от службы, как ип6.мне:

Я собираюсь добавить решение, потому что другие были не совсем правы для меня, потому что они:

вот что я предлагаю:

IP-адрес есть Google public DNS сервер. Я верю, что они будут рядом и будут управлять им какое-то время. На самом деле не имеет значения, какой адрес вы используете там, пока его публичный IP-адрес принадлежит кому-то, кто не разум случайных попыток соединения слишком много (возможно, вы сами?).

это основано на ответ я столкнулся, когда у меня была аналогичная проблема в Python.

P. S.: Я не уверен, насколько хорошо это работает, если есть волшебство происходит между вашим компьютером и интернетом.

вы можете попробовать это:

получить IP-адрес, связанный с вашим доменным именем.

дело в том, что если вы позволите скрипту сделать запрос самому себе, чем вы получите его внешний IP-адрес.

Если у вашего сервера есть доменное имя, вы можете пинговать его или использовать:

он вернет ваш внешний IP-адрес.

предполагая, что ваш PHP работает на сервере Linux, вы можете вызвать ifconfig, используя функцию exec PHP. Это даст публичный IP без необходимости обращаться к какому-либо внешнему сайту/сервису. Например:

в Windows вы можете сделать что-то подобное, конечно, используя ipconfig вместо ifconfig (и соответствующее скорректированное регулярное выражение).

также вы можете получить IP через DNS запись на основе имени хоста или имени сервера:

вы также можете использовать ИМЯ_СЕРВЕРА вместо HTTP_HOST, если один из двух не дает то, что вы хотите.

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

Я думаю, что для этого есть много кода в других ответах, но мой ответ короткий, но вам нужно выполнить команду в shell, чтобы получить ip.

но он короткий и быстрый, я думаю, что.

PHP для выполнения баш > в bash выполнить > Баш получить IP-адрес > в PHP получить IP-адрес

извините меня за мой английский, я надеюсь, что это поможет всем вам.

Источник

Как получить IP через PHP для сервера и пользователя

ip адрес сервера php. Смотреть фото ip адрес сервера php. Смотреть картинку ip адрес сервера php. Картинка про ip адрес сервера php. Фото ip адрес сервера phpДоброго времени суток 🙂

На практике часто возникает необходимость узнать IP в PHP скрипте сайта. Причём, это может быть как IP адрес сервера, так и посетителя, производящего действия на вашем ресурсе.

Причём, последний иногда может пользоваться сайтом не напрямую, а по каким-то причинам подключаясь к нему через прокси сервер. Этот случай усложняет жизнь тем, что для подключения используется изменённый IP адрес.

Но, к счастью, в PHP получить IP адрес как клиента, так и самого сайта в этом случае более, чем реально. Причём, для этого не потребуются никакие специальные библиотеки и средства движков сайтов. Всё необходимое уже есть в самом PHP «на борту».

Нам осталось только пользоваться 🙂

Как в PHP узнать IP сервера

В этой ситуации отыскать нужное становится непростой задачей, для решения которой нужно знать назначение переменных массива.

В частности, для того, чтобы в PHP определить IP адрес сервера, в коде нужно прописать следующую конструкцию:

Данный PHP код позволит вам вывести на экран IP адрес сервера, на котором он запускается. Это же значение будет и IP адресом сайта, если он вам где-нибудь понадобится.

Как в PHP получить IP посетителя

Однако, в случаях использования клиентом прокси соединений, т.е. когда при подключении трафик идёт через сторонний прокси сервер, данная переменная будет содержать IP адрес не посетителя, а прокси сервера.

Чтобы узнать в PHP IP адрес посетителя в данном случае, нужно воспользоваться другим способом.

ip адрес сервера php. Смотреть фото ip адрес сервера php. Смотреть картинку ip адрес сервера php. Картинка про ip адрес сервера php. Фото ip адрес сервера php

Как в PHP определить IP пользователя, использующего прокси

Первым делом, в PHP IP посетителя при использовании прокси можно попробовать получить следующим способом:

Данный код можно найти практически во всех PHP скриптах, определяющих реальный IP посетителя. Однако, мало кто может объяснить, что хранится в данной переменной.

И, самое главное, что на это значение не влияет прокси соединение, т.е. здесь вы найдёте реальный IP пользователя, а не его прокси сервера.

В данную переменную прокси сервера сами помещают реальный IP посетителя.

Таким образом, для того, чтобы в PHP узнать IP клиента гарантированно, можно использовать следующую конструкцию:

Если же ни одной переменной не будет присвоено значение, то с большой вероятностью можно предположить, что посетитель не использует прокси либо прокси сервер не предоставляет реальный IP посетителя. В этом случае, чтобы получить хоть какое-то значение IP, мы берём его из REMOTE_ADDR. Но, с высокой долей вероятности, это значение будет IP адресом прокси сервера (благо, что ими не пользуется абсолютно каждый клиент сайтов).

Для проверки существования значений переменных я, как видите, решил воспользоваться PHP функцией filter_var, которая фильтрует переменные с применением определённого фильтра (шаблона), которым в данном случае является FILTER_VALIDATE_IP.

В завершение хочу подытожить, что описанным выше способом, несмотря на все тщательные проверки всех возможных серверных переменных PHP, определить IP пользователя с использованием прокси всё равно не получится на 100%.

Дело в том, что IP адрес клиента предоставляют только определённый тип прокси серверов, которые называют «прозрачными». Как правило, это открытые службы.

ip адрес сервера php. Смотреть фото ip адрес сервера php. Смотреть картинку ip адрес сервера php. Картинка про ip адрес сервера php. Фото ip адрес сервера php

Если же ваш пользователь решил скрыть свой реальный IP с помощью коммерческого непрозрачного прокси, то шансы узнать его реальный адрес стремятся к нулю. Благо, что процент таковых клиентов совсем невелик, так что приведённая финальная версия скрипта поможет вам в большинстве случаев.

Оставляйте свои отзывы в комментариях — что понравилось, что нет, может быть, о чём-то следовало бы рассказать поподробнее… Мне интересно любое ваше мнение.

P.S.: если вам нужен сайт либо необходимо внести правки на существующий, но для этого нет времени и желания, могу предложить свои услуги.

Более 5 лет опыта профессиональной разработки сайтов. Работа с PHP, OpenCart, WordPress, Laravel, Yii, MySQL, PostgreSQL, JavaScript, React, Angular и другими технологиями web-разработки.

Опыт разработки проектов различного уровня: лендинги, корпоративные сайты, Интернет-магазины, CRM, порталы. В том числе поддержка и разработка HighLoad проектов. Присылайте ваши заявки на email cccpblogcom@gmail.com.

И с друзьями не забудьте поделиться 😉

Источник

How to identify server IP address in PHP

How can I identify the server IP address in PHP?

ip адрес сервера php. Смотреть фото ip адрес сервера php. Смотреть картинку ip адрес сервера php. Картинка про ip адрес сервера php. Фото ip адрес сервера php

15 Answers 15

Like this for the server ip:

and this for the port

If you are using PHP version 5.3 or higher you can do the following:

This works well when you are running a stand-alone script, not running through the web server.

when your on IIS, try:

I came to this page looking for a way of getting my own ip address not the one of the remote machine connecting to me.

This will not work for a windows machine.

But in case someone searches for what I was looking for:

ip адрес сервера php. Смотреть фото ip адрес сервера php. Смотреть картинку ip адрес сервера php. Картинка про ip адрес сервера php. Фото ip адрес сервера php

Furthermore, because gethostbyname falls back on public DNS records a testing server with unpublished or incorrect public DNS records (for instance, you’re accessing the server by localhost or IP address, or if you’re overriding public DNS using your local hosts file) then you’ll get back either no IP address (it will just return the hostname) or even worse it will return the wrong address specified in the public DNS records if one exists or if there’s a wildcard for the domain.

Depending on the situation, you can also try a third approach by doing something like this:

This has its own flaws (relies on a specific third-party site, and there could be network settings that route outbound connections through a different host or proxy) and like gethostbyname it can be slow. I’m honestly not sure which approach will be correct most often, but the lesson to take to heart is that specific scenarios/configurations will result in incorrect outputs for all of these approaches. so if possible verify that the approach you’re using is returning the values you expect.

Источник

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

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