На любом php-хостинге есть постоянное доменное имя по умолчанию?
я делаю простую децентрализованную соцсеть
в которой у каждого пользователя есть свой сервер на котором веб-приложение
адрес сервера участника - это идентификатор пользователя
приложение очень простое - пользователь ставит его на бесплатный хостинг и всё
без каких-либо настроек, всё по умолчанию, ориентация на обычные бесплатные хостинги
просто приложению надо знать свой адрес
адрес можно узнать и на клиенте, но мне надо понять можно ли это делать на сервере
я исхожу из предположения что при регистрации на обычном хостинге имя хостинга (технический домен) даётся один раз и остаётся неизменным
просто у меня опыт работы только с бегетом - он дает постоянный адрес-домен вида:
c9332554.beget.tech
Если вы беспокоитесь, что ваш код могут сразу на нескольких серверах использовать, то проверка по хосту ничего не гарантирует. Имеет смысл прикрутить механизм активации с ключами и заполировать все это IonCube.
я делаю децентрализованную соцсеть
в которой у каждого пользователя есть свой сервер на котором веб-приложение
адрес сервера участника - это идентификатор пользователя
js-css-html-php, не проще взять какой-нибудь NextCloud и написать под него модуль / расширение добавляющее возможность разным облакам общаться с друг-другом? Не уверен, но такой модуль даже уже может существовать, нужно просто поискать в их магазине.
P. S. Действительно, такой модуль уже существует. Вам не нужно ничего писать. PROFIT!
js-css-html-php, если вы принципиально хотите все сами сделать, то имеет смысл проверять домен и факт владения им через проверку зон DNS (юзер должен будет добавить подтверждающие txt записи в зону), но никак не через переменную $_SERVER, которую можно легко подменить, а значит потенциально писать сообщения от чужого имена.
Вопрос некорректен. Непонятно, что кроется за словом "нормально".
Изменение айпишника в любой момент - это нормально? Айпи 127.0.01 за реверс-прокси - нормально?
js-css-html-php, вы исходите из неправильного предположения. Даже нескольких.
Например, вас в случае популярности приложения для начала завалит адресами типа 192.168.33.33 - это еще-не-клиент пробует ваше добро на вкус в виртуалке.
js-css-html-php, подробнее - сам изучай вопрос. Идея "привязать" клиента к тому, что у него выдал $_SERVER при установке - заведомо нерабочая. И потому, что там может оказаться что угодно, и потому, что один-единственный сайт может дополняться несколькими серверами разработки, где тоже все должно работать. При этом они вообще могут не иметь выхода в интернет.
js-css-html-php, это не описание задачи, это анекдот про путешественника на воздушном шаре, который приземлился и спросил, где он находится. Ему дали точный ответ: в корзине воздушного шара - но ему это совршенно не помогло.
Ваше приложение в неизвестной среде находится ровно в такой же ситуации: сервер скажет, какой у него адрес, но совершенно не факт, что этот адрес будет иметь смысл где-то за пределами этого сервера.
js-css-html-php, ну так вот, повторяю: ты исходишь из ложных предположений. Уже не помню, сколько раз у меня менялся сервер - а с ним и айпишник - на довольно недешевом хостинге. При этом под HTTPS куплен выделенный IP, и сейчас некоторые разделы одного и того же сайта доступны по разным именам и адресам.
js-css-html-php, вообще-то бывают не только технические адреса, но и купленные доменные имена. Причем, если что, вот прямо этот самый сайт - это и toster.ru, и qna.habr.com.
И вообще, я сильно подозреваю, что если копнуть вот это "просто приложению нужно знать свой адрес" - там пойдет одно ложное предположение за другим.
И упрется эта череда неверных допущений в совершенно нерабочую идею о том, что эта нестабильная и легко фальсифицируемая информация может использоваться для проверки чего бы то ни было.