Как обнаружить сайт, с которого пользователь пришел раньше моего в PHP?

Как я могу обнаружить сайт, с которого пользователь пришел, прежде чем обращаться к моему в PHP?

Попробуй это:

 $_SERVER['HTTP_REFERER'] 

Для получения дополнительной информации см. HTTP-реферер :

Реферер или HTTP-реферер, также известный общим реферированием орфографических ошибок, который встречается как поле заголовка HTTP, идентифицирует с точки зрения интернет-страницы или ресурса адрес веб-страницы (обычно URL-адрес, более общий URI или обновленный IRI i18n) ресурса, который ссылается на него. Проверяя реферер, новая страница может видеть, откуда пришел запрос.

Вы можете проверить HTTP-заголовок Referer :

 echo $_SERVER['HTTP_REFERER']; 

Но обратите внимание, что отправитель отправляется браузером , что означает:

  • Он может быть отключен (это не обязательно, и это просто дополнительная информация, которую может отправить браузер)
  • Его можно подделать (т.е. любой может отправить что угодно – даже, например, инъекцию SQL или инъекция XSS)

Таким образом, вы можете использовать референт для предоставления дополнительной функции на своем веб-сайте, но вы должны убедиться, что ваш сайт не полагается на нее: ваше приложение должно работать, даже если Referer отсутствует.

 echo $_SERVER['HTTP_REFERER']; 

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

Вам нужно посмотреть заголовок HTTP Referer:

 $_SERVER['HTTP_REFERER'] 

См. Документацию по PHP для большего количества заголовков HTTP

Как сказал в своем ответе @Andrew Hare, получение значения значения сервера HTTP_REFERRER (которое является заголовком, отправленным как часть HTTP-запроса), расскажет вам сайт, на котором последний браузер.

Однако следует отметить, что вполне возможно, что эта переменная header / server не будет иметь значения по ряду законных причин: некоторые из них:

  • Пользователь набрал URL-адрес сайта в том же окне
  • Пользователь открыл закладку в том же окне
  • Пользователь только что открыл браузер и сделал одно из вещей выше

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

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