Получить домен сайта php

Получить домен сайта php

242122 просмотра

9 ответа

680 Репутация автора

У меня есть сайт на сервере

Для этого у меня есть два домена:

я хотел бы получить с текущим доменом PHP, но если я использую, $_SERVER[‘HTTP_HOST’] то это покажет мне

Как я могу получить домен, а не имя сервера? У меня PHP версии 5.2

Ответы (9)

6 плюса

12644 Репутация автора

Попробуй $_SERVER[‘SERVER_NAME’] . Советы. Создайте файл PHP, который вызывает эту функцию, phpinfo() и посмотрите раздел «Переменные PHP». Есть куча полезных переменных, о которых мы никогда не думали.

137 плюса

1660 Репутация автора

попробуйте использовать это: $_SERVER[‘SERVER_NAME’]

РЕДАКТИРОВАТЬ:

37 плюса

587 Репутация автора

Использование $_SERVER[‘HTTP_HOST’] получает меня (субдомен.) Maindomain.extension. Похоже, это самое простое решение для меня.

Изменить: если вы действительно перенаправляете через iFrame, вы можете добавить параметр get, который указывает домен.

И тогда вы можете установить переменную сеанса, которая сохраняет эти данные во всех приложениях.

42 плюса

1875 Репутация автора

И можно использовать как это

Этот код ниже — это хороший способ увидеть все переменные в $ _SERVER в структурированном HTML-выпуске с выделенными вами ключевыми словами, который останавливается сразу после выполнения. Поскольку я иногда забываю, какой из них использовать сам — я думаю, что это может быть отличным.

3 плюса

309 Репутация автора

Я знаю, что это может быть не совсем по этому вопросу, но, по моему опыту, я нахожу сохранение WWW-существующего URL-адреса в переменной полезной.

Изменить: Кроме того, пожалуйста, см. Мой комментарий ниже, чтобы посмотреть, что это такое.

Это важно при определении того, следует ли отправлять вызовы Ajax с помощью «www» или без:

При отправке вызова Ajax имя домена должно совпадать с именем в адресной строке браузера, иначе в консоли должно быть установлено значение « Очистить» .

Читайте также:  Микро сд защищена от записи как снять

Поэтому я придумал это решение для решения проблемы:

Затем, в зависимости от того, является ли WWW истинным, или false, выполните правильный вызов Ajax.

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

4 плюса

45631 Репутация автора

Поздний ответ, но вот он идет:

Это даст вам чистое доменное имя без www

4 плюса

2844 Репутация автора

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

Неправильный путь:

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

По умолчанию параметр Apache имеет отключенное usecanonicalname, которое заполняется $_SERVER[‘SERVER_NAME’] одним и тем же заголовком, $_SERVER[‘HTTP_HOST’] которое использовалось бы всегда (плюс порт). Вот некоторые вредоносные примеры . Если usecanonicalname включен, тогда он более безопасен, но я не знаю, работает ли этот тип конфигурации в большинстве сред.

  • Если имя_сервера не может быть разрешено, команда hostname операционной системы используется на своем месте [источник] .
  • Редхат по умолчанию используется по умолчанию [ источник ].
  • Если заголовок узла отсутствует, сервер будет вести себя так, как если бы usecanonical был включен [source] .

Правильный способ:

Единственный гарантированный защищенный метод — хранить домен где-то, к которому вы можете получить доступ.

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

Для пользователей WordPress:

Если вы используете WordPress, вы можете безопасно получить домен так:

(Но если вы создаете URL-адрес в WordPress, просто используйте home_url или site_url или любые другие функции URL .)

Читайте также:  Доска для пола на второй этаж

У меня есть сайт на сервере

Для этого у меня есть два домена:

я бы хотел получить с текущим доменом PHP, но если я использую $_SERVER[‘HTTP_HOST’] тогда это покажет мне

Как я могу получить домен, а не имя сервера? У меня PHP версии 5.2

попробуйте использовать это: $_SERVER[‘SERVER_NAME’]

РЕДАКТИРОВАТЬ:

Использование $_SERVER[‘HTTP_HOST’] получает меня (субдомен.) Maindomain.extension. Похоже, это самое простое решение для меня.

Изменить: если вы действительно перенаправляете через iFrame, вы можете добавить параметр get, который указывает домен.

И тогда вы можете установить переменную сеанса, которая сохраняет эти данные во всех приложениях.

И можно использовать как это

Этот код ниже – это хороший способ увидеть все переменные в $ _SERVER в структурированном HTML-выпуске с выделенными вами ключевыми словами, который останавливается сразу после выполнения. Поскольку я иногда забываю, какой из них использовать сам – я думаю, что это может быть отличным.

Попробуйте $_SERVER[‘SERVER_NAME’] . Советы. Создайте файл PHP, который вызывает функцию phpinfo() и просмотрите раздел «Переменные PHP». Есть куча полезных переменных, о которых мы никогда не думали.

Поздний ответ, но вот он идет:

Это даст вам чистое доменное имя без www

Я знаю, что это может быть не совсем по этому вопросу, но, по моему опыту, я нахожу сохранение WWW-существующего URL-адреса в переменной полезной.

Изменить: Кроме того, пожалуйста, см. Мой комментарий ниже, чтобы посмотреть, что это такое.

Это важно при определении того, следует ли отправлять вызовы Ajax с помощью «www» или без:

При отправке вызова Ajax имя домена должно совпадать с именем в адресной строке браузера, иначе в консоли должно быть установлено значение « Очистить» .

Читайте также:  Как удалить все сохраненные пароли на компьютере

Поэтому я придумал это решение для решения проблемы:

Затем, в зависимости от того, является ли WWW истинным, или false, выполните правильный вызов Ajax.

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

Несколько примеров как в PHP получить информацию о домене и IP-адресе.

Информация о IP

Получить информацию об IP-адресе можно с помощью сервиса WHOIS REST API, отправив запрос на http://rest.db.ripe.net/search?query-string= xxx.xxx.xxx.xxx
Ответ будет в формате XML.

Результат

Информация о домене

С доменами сложнее, т.к. нужно отправлять TCP запрос на WHIOS-сервер в зависимости от зоны домена. Полный список серверов на https://www.whois365.com/en/listtld/.

Основные зоны

Зона Сервер
.ru, .su, .рф whois.tcinet.ru
.com, .net whois.verisign-grs.net
.org whois.pir.org

Результат

Сервис для проверки IP и доменов

Есть хороший API сервис «ip-api», возвращает информацию о домене, IP-адресе + геолакацию. Не требует регистрации и ключей, ограничение 150 запросов в минуту с одного IP-адреса, но не для коммерческого использования.

Ссылка на основную публикацию
Планшеты с видеовыходом hdmi
В современных планшетах применяются разъемы micro или mini HDMI, которые отличаются от классического HDMI размером. Для подключения планшета к телевизору...
Очисти историю нашего разговора
На протяжении долгого времени Skype удерживает позиции лидера на рынке приложений для виртуального общения. Сегодня эта программа для видеочатов доступна...
Очиститель воздуха iqair healthpro 150
Оглавление Паспортные характеристики, комплект поставки и цена Название моделиHealthPro 250 NEТипочиститель воздухаЦветсветло-серый/белыйУправлениемеханические кнопки на корпусе и ИК-пульт ДУМощность электрическаяот 20...
Планшеты от 10 дюймов и выше
Планшеты давно перестали быть дорогой «игрушкой». После уверенного завоевания мирового рынка китайскими брендами, качественные гаджеты стали доступными. В этом обзоре...
Adblock detector