Как я могу обнаружить сайт, с которого пользователь пришел, прежде чем обращаться к моему в PHP?
Попробуй это:
$_SERVER['HTTP_REFERER']
Для получения дополнительной информации см. HTTP-реферер :
Реферер или HTTP-реферер, также известный общим реферированием орфографических ошибок, который встречается как поле заголовка HTTP, идентифицирует с точки зрения интернет-страницы или ресурса адрес веб-страницы (обычно URL-адрес, более общий URI или обновленный IRI i18n) ресурса, который ссылается на него. Проверяя реферер, новая страница может видеть, откуда пришел запрос.
Вы можете проверить HTTP-заголовок Referer :
echo $_SERVER['HTTP_REFERER'];
Но обратите внимание, что отправитель отправляется браузером , что означает:
Таким образом, вы можете использовать референт для предоставления дополнительной функции на своем веб-сайте, но вы должны убедиться, что ваш сайт не полагается на нее: ваше приложение должно работать, даже если Referer отсутствует.
echo $_SERVER['HTTP_REFERER'];
Он не совсем надежный и может быть подделан, но в целом он будет заполнен URL-адресом, который пользователь щелкнул, чтобы перейти к сценарию.
Вам нужно посмотреть заголовок HTTP Referer:
$_SERVER['HTTP_REFERER']
См. Документацию по PHP для большего количества заголовков HTTP
Как сказал в своем ответе @Andrew Hare, получение значения значения сервера HTTP_REFERRER (которое является заголовком, отправленным как часть HTTP-запроса), расскажет вам сайт, на котором последний браузер.
Однако следует отметить, что вполне возможно, что эта переменная header / server не будет иметь значения по ряду законных причин: некоторые из них:
Все вышесказанное действительно представляет собой вариации на одно и то же, случай, когда одно и то же окно браузера используется для перехода на другой сайт, но не было предложено щелкнуть по ссылке в документе, который ведет их туда, перенаправить или некоторые другие действия, вызванные страницей в истории до вашей.
Вышеупомянутые примечания верны, но имейте в виду, что пользователь может заставить свой браузер не отправлять эту информацию, или они могут связываться с этой информацией и отправлять ложные данные.