Я хочу определить сайт, с которого был вызван запрос на конкретный сайт. Например. У меня есть сайт www.ex.com. Теперь эта ссылка была на трех сайтах www.a.com, www.b.com и www.c.com. Предположим, один пользователь щелкнул ссылку с www.a.com, чтобы перейти на www.ex.com. Теперь я хочу определить, что запрос поступил с сайта www.a.com, и тогда страница в www.ex.com будет отображаться соответствующим образом. Аналогичным образом, если пользователь нажал на ссылку www.ex.com с сайта www.b.com, страница отобразится соответствующим образом.
Итак, как я могу определить источник запроса, то есть с какого веб-сайта www.ex.com был вызван? Хорошо, если вы объясните это с помощью кода на PHP.
Спасибо
Посмотрите Вот для HTTP_HOST и HTTP_REFERER.
Поскольку обе глобальные переменные заполняются из заголовков HTTP, посмотрите также Вот для хоста и реферера.
Вот как вы их используете:
$host = $_SERVER['HTTP_HOST'];
$referer = $_SERVER['HTTP_REFERER'];
Первый — это оригинальное имя хоста (например, «www.a.com») со ссылкой на вашу страницу. 2-й является полным URL (как https://www.a.com/some/path/to/some.html).
Затем, основываясь на некоторой условной логике, вы можете вернуть своим пользователям соответствующий HTML.
Есть два разных сайта.
Скажем, от a.com, вы нажимаете на ex.com
Итак, для ссылки в a.com добавьте некоторый параметр:
<a href="ex.com/somepage.php?from=a.com">Click Here</a>
Теперь ваш from
параметр будет
1) a.com
2) b.com
3) c.com
Если ничего из вышеперечисленного, то его нажали с самого ex.com.
Вы также можете добавить шифрование для этой ссылки, чтобы повысить безопасность.
Вы можете использовать это
$_SERVER['HTTP_REFERER']
для реферальной ссылки