Подтвердить что ты не робот

Как выбрать только корневой домен из $_SERVER ['HTTP_REFERER'];?

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

Я обнаружил, что переменная PHP $_SERVER['HTTP_REFERER']; дает мне весь URL-адрес, который является началом. Есть ли способ, который может дать мне только корневой домен либо через другую переменную, либо с помощью функции, имея в виду, что некоторые источники могут использовать http://и некоторые https://(так что просто начиная с седьмого символа не всегда работают)? Таким образом, я могу сопоставить URL-адрес на основе двух (или более) предопределенных адресов и создавать контент, относящийся к этому домену.

4b9b3361

Ответ 1

parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST)

См. http://php.net/manual/en/function.parse-url.php.

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

Ответ 2

http://php.net/manual/en/function.parse-url.php может быть вашим лучшим выбором, хотя вы можете использовать регулярное выражение для достижения того, что вы ищете легко.

Ответ 3

это должно сделать:

 $_SERVER['SERVER_NAME']