Способы определения предпочитаемого DNS-сервера и выбор альтернативного

Дата публикации: 2011-03-13

100.jpg

От автора: Идею для этого урока я взял из комментариев пользователей ресурса //webformyself.com/. В частности, интересовал такой вопрос: «Как определить IP-адрес компьютера?». Попробуем разобраться, как это можно сделать, и заодно узнаем еще несколько вещей, которые, безусловно, могут пригодиться Вам в создании веб-приложений.

</em></p>

Время ролика: 19:50

Ссылка для скачивания исходников:Скачать одним архивом

Ссылка для скачивания всего архива (видео+исходники):Скачать одним архивом. Размер: 33.1 mb.

php.jpg

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

Итак сразу скажу, для того чтобы понять как определить IP-адрес, много кода писать не придется ибо все уже написано до нас. Нам же остается просто знать, как это использовать. Под «этим» в данном случае понимается суперглобальный массив $_SERVER, в который интерпретатор PHP помещает переменные, полученные от сервера. О том, что такое массив, я подробно рассказываю и показываю в уроке по созданию галереи. Вкратце можно сказать, что массив — это своеобразная большая переменная, в которой можно хранить обычные переменные. Переменных в глобальном массиве $_SERVER довольно много. Мы же сегодня поговорим лишь о некоторых из них. Эти переменные, кстати, еще называются также элементами массива. И первые два элемента, о которых мы поговорим — это элементы, благодаря которым можно получить имя сервера, на котором выполняется скрипт.

1. Имя сервера

Создадим страницу (у меня это index.php) и напишем в нее следующий код:

Здесь мы выводим на экран элемент массива $_SERVER по имени SERVER_NAME, в котором как раз и содержится информация о сервере. Если Вы тестируете скрипт на локальном сервере, то в качестве имени сервера получим — «localhost».

Аналогичный результат можно получить при обращении к элементу HTTP_HOST:

Где может пригодиться использование этих элементов массива $_SERVER?. Допустим, у нас есть сайт на домене //mydomen.ru. Соответственно, если на этом сайте используются абсолютные ссылки, то мы столкнемся с определенными трудностями при переносе сайта на новый домен, к примеру, //newdomen.ru. Нам придется менять все абсолютные ссылки. Вот здесь нам как раз и могут пригодиться эти элементы.

2. Откуда пришел пользователь

Часто нам необходимо узнать с какой именно страницы к нам попал пользователь. В этом нам может помочь элемент по имени HTTP_REFERER. В этом элементе как раз и содержится адрес страницы, с которой пользователь попал на страницу, на которой мы вызываем элемент HTTP_REFERER. Переход, соответственно, должен происходить по ссылке. Создадим еще одну страницу, например test.php, и в ней пропишем ссылку на страницу index.php. На странице index.php пропишем код:

Теперь попробуем перейти по ссылке. В своем случае я получу такой адрес страницы — //localhost/arr_server/test.php (обе страницы у меня в каталоге arr_server, а сам скрипт тестируется на локальном сервере).

3. Информация о клиенте

Если нам необходимо собирать статистическую информация, например, пользователи с какими браузерами посещают наш сайт, то мы можем использовать для этих целей элемент HTTP_USER_AGENT:

php.jpg

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

В результате на экран в моем случае будет выведена строка — «Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.15) Gecko/20110303 AskTbPTV2/3.9.1.14019 Firefox/3.6.15″. Из нее можно узнать, что я использую браузер Firefox версии 3.6.15. Также можно узнать, что версия моей операционной системы — Windows XP — об этом говорит эта часть строки — Windows NT 5.1.

Определение IP-адреса клиента

А теперь собственно то, для чего мы и затеяли данный урок — определение IP-адреса компьютера пользователя, заполнявшего нашу форму. Информация об этом адресе содержится в элементе REMOTE_ADDR:

Если Вы тестирует скрипт на локальном сервере, то получите такой IP-адрес — 127.0.0.1. Если тестируете в сети — получите IP-адрес, под которым зашли в сеть. Как же нам передать IP-адрес клиента, который заполнял форму? Сам он его, конечно же, вряд ли вводить будет, поэтому нам остается определить этот адрес при помощи элемента REMOTE_ADDR массива $_SERVER и скрытно от клиента отослать его. Сделать это можно несколькими способами. Мы будем использовать скрытое поле формы. Создадим простую форму на странице test.php:

Данные из этой формы будут передаваться методом POST, в качестве обработчика данных мы указали файл index.php (детально обо всем этом я рассказываю в мини-курсе по созданию полноценной формы обратной связи). На странице index.php давайте будем принимать эти данные и выводить их:

Здесь мы проверили, была ли нажата кнопка формы и, если она нажата, мы выводим то, что получили в качестве имени. А ниже мы прописали ссылку на ту страницу, откуда пришли, т.е., на страницу с формой. Об условиях, глобальном массиве $_POST и прочих вещах, которые мы только что использовали, я также детально рассказывал в мини-курсе по созданию формы обратной связи. Мы все делаем максимально упрощенно, без особых проверок, поскольку целью урока является простая передача IP-адреса клиента и не больше.

Итак, имя мы получаем. Теперь осталось передать скрытно от пользователя его IP-адрес. Для этого допишем на странице с формой еще одно поле, типом которого укажем hidden (т.е., скрытое), а в качестве его значения укажем элемент REMOTE_ADDR:

Если мы сейчас обновим страницу с формой, то ничего не изменится… но если мы посмотрим исходный код этой страницы, то увидим следующее:

Интерпретатор PHP в качестве значения скрытого поля прописал IP-адрес клиента, который и будет отправлен на страницу index.php, и этот адрес будет находиться в переменной ip глобального массива $_POST. Осталось дописать вывод в файле index.php:

Вот, в принципе, и все. Вот так вот просто при помощи элементов массива $_SERVER мы можем получить массу служебной информации, которую затем можем использовать в своих веб-приложениях. Мы рассмотрели только пять элементов массива $_SERVER, на самом деле их, как уже говорилось выше, гораздо больше и без них часто сложно организовать функционирование достаточно серьезного проекта.

На этом, урок по определению IP-адреса компьютера окончен. До новых встреч!

php.jpg

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!1.jpg

Хотите узнать, что необходимо для создания сайта?

Посмотрите видео и узнайте пошаговый план по созданию сайта с нуля!

Смотреть Плагин jQuery cloud-zoom – лупа для картинокВалидация данных в форме – фрагменты кода и быстрые подсказки —>

Метки:как определить IP адрес пользователя

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

https://webformyself.com/kak-opredelit-ip-adres-polzovatelya/—>

При переходе на какую-либо веб-страницу вы можете столкнуться с ошибкой адреса хоста. Обычно к указанному сообщению прилагается код какой-либо из двух ошибок, звучащих по-английски как «ERR_NAME_NOT_RESOLVED» или «DNS_PROBE_FINISHED_NXDOMAIN». Данная дисфункция может быть вызвана разнообразными причинами, лежащими как на стороне нужного сервера (сайта), так и на стороне сетевых настроек пользователя. Давайте разберём суть этой дисфункции, а также рассмотрим, как можно исправить ошибку «Не удалось найти IP-адрес сервера» на вашем PC.

Содержание

Что означает ошибка нахождения IP-адрес сервера

Обычно указанное сообщение появляется в ситуации, когда пользовательский браузер не может открыть страницу нужного веб-сайта. При вводе адреса веб-ресурса в адресной строке навигатора и нажатии на Enter вместо нужной страницы навигатор выводит сообщение о том, что невозможно определить адрес.

IP_cant-found.png

Can’t find IP

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

  • Адрес сайта был введён неверно;
  • Нужный сервер работает нестабильно, или на нём ведутся какие-либо работы;
  • На PC пользователя имеются проблемы с настройками сетевого подключения (в частности, некорректно работает роутер);
  • Антивирус или брандмауэр PC блокирует доступ к нужному веб-ресурсу;
  • Некорректно работают ДНС-сервера или служба ДНС на пользовательском PC;
  • На компьютере пользователя действует вирусный зловред, изменивший сетевое подключение под себя;
  • На браузере установлены сетевые плагины (расширения), влияющие на его работу;
  • Имеются какие-либо неполадки у интернет-провайдера.

При идентификации причин очень важно удостовериться, имеется ли данная проблема на других ПК и у других пользователей. Попросите кого-либо из ваших друзей или знакомых перейти на проблемную интернет-страницу. Если ошибка с IP-адресом возникает и у них, тогда, скорее всего, это проблема на стороне сервера (сайта), и вашей вины в этом нет. Если же у них нужная страница открывается без проблем, тогда это проблема именно пользовательского PC.

Давайте разберёмся, как устранить ошибку «Не удалось найти IP-адрес сервера» на вашем PC.

Будет полезно знать: что делать если сеть есть, а страницы в веб-навигаторе не открываются.

Проверка настройки интернет-подключения и правильность ввода адреса

Первым делом рекомендуем убедиться, что с вашим сетевым подключением нет никаких проблем. Рекомендуем перейти на ряд популярных сайтов, и убедиться, что они загружаются исправно. Также стоит перезагрузить имеющийся у вас роутер, для чего выключите его на пару минут, после чего включите обратно.

Также убедитесь, что вы правильно ввели адрес нужной страницы. Ошибка даже на один символ может привести к возникновению проблемы подобно рассматриваемой в статье.

Использование адреса публичных ДНС-серверов от компании Google

Наиболее эффективным методом избавиться от проблемы отсутствия АйПи-адреса сервера является использование адресов публичных серверов, любезно предложенных компанией Гугл.

Рекомендуем выполнить следующее:

  1. Нажмите Win+R, в появившейся табличке введите ncpa.cpl, после чего нажмите на Enter;
  2. Перед вами откроется перечень сетевых подключений. Наведите курсор мышки на интернет-подключения, и щёлкните правой клавишей мышки. В появившемся меню выберите «Свойства»;Properties.png
  3. Откроется перечень сетевых компонентов. Среди всего списка найдите IPv4 и дважды кликните мышкой на нём;

    IP4Version.jpg

    Дважды кликните на указанном компоненте

  4. Активируйте опцию «Использовать следующие адреса ДНС серверов» и пропишите адреса предпочитаемого и альтернативного ДНС-сервера так, как указано на изображении чуть ниже;googledns.jpg
  5. После этого нажмите внизу на «ОК», и перезагрузите PC.

Данное решение является наиболее эффективным способом решить ошибку, которая звучит как «Не удалось найти IP-адрес сервера».

Читайте также наш материал: DNS_PROBE_FINISHED_NO_INTERNET — что делать?.

Проверка работы ДНС и сброс настроек

Запустите командную строку от админа. В ней последовательно наберите нижеизложенные команды:

ipcommands-2.jpg

Перезагрузите ваш PC.

Если это не помогло, рекомендуем также проверить работоспособность службы, отвечающей за работу с ДНС. Нажмите на Win+R, в появившемся окне введите services.msc и нажмите Enter. В перечне служб найдите «DNS-клиент», щёлкните ПКМ, после чего выберите «Перезапустить». Также дважды кликните на данной службе, и убедитесь, что тип её запуска установлен на «Автоматически».

dns-client-1.jpg

Временное отключение антивируса и брандмауэра PC

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

Удаление файлов в папке etc.

Другим способом исправить ошибку отсутствия подключения к серверу является удаление папки etc. на жёстком диске. Данная папка расположена по пути:pathetc..jpgПосле нахождения данной папки удалите все файлы, которые вы там обнаружите. Затем перезапустите ваш веб-навигатор и вновь попытайтесь зайти на нужный веб-ресурс.

foldetc..jpg

Отключение расширений для вашего навигатора

В некоторых случаях установленные на веб-навигатор расширения могут препятствовать корректной работе программы. Рекомендуем временно отключить (или вовсе удалить) данные расширения. К примеру, в браузера Mozilla они находятся по пути «Настройки» — «Дополнения».

Проверка PC на наличие зловредов при ошибке об отсутствии IP-адреса сервера

Поскольку вирусы могут препятствовать доступу на нужный IP-сервер, рекомендуем избавиться от них. Помогут программы уровня «AdwCleaner» и «ДокторВеб Кюрейт», зарекомендовавшие себя в борьбе со зловредами, рекламными программами, шпионами и прочими аналогами.

adwcleaner.png

Использование VPN для перехода на нужный IP-адрес

В некоторых случаях требуемый ресурс может быть заблокирован вашим провайдером. Или вы может быть заблокированы на таком ресурсе по вашему IP-адресу. В обоих случаях рекомендуем использовать ВПН-программу для обхода блокировок (например для Гугл Хрома и Яндекс браузера). Установите одну из таких программ на ваш PC, запустите, выберите одну из альтернативных стран, и обойдите существующую блокировку.

Это будет интересно: ВПН для Яндекс.Браузер.

Использование другого браузере для исправления ошибки

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

Если это не помогло,  попробуйте также другой браузер. Возможно, на нём нужная страница запустится без каких-либо неполадок.

Заключение

Распространённой причиной рассматриваемой дисфункции являются некорректные настройки ДНС-серверов. Из-за них система не может соединиться с нужным сайтом, и выдаёт рассматриваемую в статье ошибку. Рекомендуем применить перечисленные в статье советы (обратив особое внимание на изменение адресов ДНС-серверов), что поможет исправить распространенную ошибку «Не удалось найти IP-адрес сервера» на вашем PC.

001.png

Доброго времени суток, уже очень давно я не писал в раздел «Для начинающих» пользователей. Поэтому сегодня решил написать одну небольшую статью о том, как узнать свой внутренний или внешний IP-адреса. Для начала немного теории.

IP-адрес — это уникальный адрес любого устройства внутри сети. Так как сеть может быть внутренний (сеть организованная роутером или другим сервером) или глобальной (интернет). То и IP-адреса делятся на два вида: внутренний и внешний. Первое служит для обозначения устройства внутри локальной сети, второй же для обозначения внутри глобальной сети Интернет. Вся суть в том, что внутри одной сети не может быть два одинаковых IP-адреса, благодаря этому правилу и мы можем создать FTP- или web-сервер на своем домашнем компьютере. Внешний IP-адрес бывает двух видов: динамический (меняется при каждом подключении к интернету) и статический (закреплен к вашему аккаунта у провайдера и не меняется). Конечно второй вариант удобнее, но за статический адрес почти у всех (если не всех) провайдеров приходится платить дополнительно рублей 100-200 в месяц. И не каждый пользователь хочет это делать. А теперь давайте рассмотрим несколько способов по определению своих адресов.

1. Как узнать свой внешний IP.

Тут все довольно просто, для этого существует множество ресурсов в интернете. Я предпочитаю использовать сервис от Яндекса, он доступен по адресу internet.yandex.ru, что очень легко запомнить. Пройдя по ссылке вы сразу же увидите свой внешний IP-адрес.

001-800x441.png

Но для выбора так уже добавлю еще несколько ресурсов для определения IP:

http://myip.ru/

http://whatismyipaddress.com/

http://www.ip-address.org/

Помимо сайтов есть еще всякого рода программы, для определения внешних IP адресов. У меня стоит программа Rainmeter, благодаря которой можно создать очень информативный рабочий стол, с помощью удобных виджетов. Тем кто используют данную программу можно скачать скин mIGNimalistic в котором есть виджет для отображения внутреннего и внешнего IP-адреса.

002.png

2. Как узнать свой внутренний IP-адрес.

Здесь придется немного покопаться в операционной системе. И я опишу два способа, чтобы каждый смог выбрать тот, который вам больше нравится или подходящий под ваш случай.

1 способ. Узнать внутренний IP адрес через командную строку.

Открываем утилиту выполнить клавишами Win+R и вводим команду cmd. Жмем ОК. Для счастливых обладателей Windows 8 достаточно нажать правой клавишей в углу Пуск и выбрать «Командную строку«.

Вводим команду ipconfig /all  и жмем Enter.

004.png

В полученной информации ищем группу с именем адаптера Ethernet. И смотрим свой внутренний IP-адрес (он должен быть помечен словом Основной).

005.png

2 способ. С помощью центра управления сетями и общим доступом.

Открываем центра управления сетями и общим доступом. Выбрав его в трее или открыв «Панель управленияСеть и ИнтернетЦентр управления сетями и общим доступом»

В центральной части окна кликаем по синему слову Ethernet под словом Интернет. И в открывшемся окне жмем по кнопке «Сведения».

Откроется окно, в  котором будет та же информация, что и в первом способе. В параметре «Адрес IPv4» находится ваш внутренний IP адрес.

008.png

На этом всё. Надеюсь эта статья оказалась вам полезной, нажмите одну из кнопок ниже, чтобы рассказать о ней друзьям. Также подпишитесь на обновления сайта, введя свой e-mail в поле справа.

Спасибо за внимание 🙂

Материал сайта Skesov.ru

—>Используемые источники:

  • https://webformyself.com/kak-opredelit-ip-adres-polzovatelya/
  • https://sdelaicomp.ru/wi-fi/ne-udalos-najti-ip-adres-servera.html
  • https://skesov.ru/kak-opredelit-svoi-vnutrenniy-i-vneshniy-ip-adresa-na-windows-8-1-8-7-vista/

Рейтинг автора
5
Подборку подготовил
Андрей Ульянов
Наш эксперт
Написано статей
168
Ссылка на основную публикацию
Похожие публикации