Как передать referer при редиректе?

Ссылка скопирована
1 ответ

Здравствуйте, суть вопроса, есть сайт, который отображает контент при referer = ".yandex.ru". Я понимаю, что могу с помощью php отправить запрос get и передать в заголовке referer данный, тогда всё работает, но мне надо, чтобы такая штука работала по ссылке через url. Например, скопировать бы ссылку yandex.ru/redirect=mysite.ru , и оттуда mysite.ru уже выдаст нужный контент. Или например стоит пойти через какой-нибудь блог яндекса, типа dzen? Например оттуда перенаправлять человека. Как я понял, что редирект с другим рефером не получится сделать, как тогда быть?
Т.е берём ссылку mysite.ru и надо на неё попасть через *.yandex.ru, любыми методами. Может у яндекса есть какая-то ссылка, сразу переадресующая на сайт? clck.ru не помогает, так как реферер другой. Извините, за потраченное время и глупый вопрос.

Дополнительно:

Я бы мог использовать сторонний домен, например сторонний домен -> редирект yandex.ru -> mysite.ru или сразу
сторонний домен -> редирект mysite.ru С REFERER (*.yandex.ru). Если есть какие-то соображения, поделитесь, пожалуйста!

  • kyctaphik, ещё были соображения сделать через get параметр передать referer, но так тоже не работает(
    например redirect(mysite.ru?referer=yandex.ru)
  • kyctaphik, это не будет работать, ибо было бы огромной дыркой в безопасности, позволяя подсовывать пользователям редиректы так, будто бы они пришли с каких угодно сайтов, а не оттуда, откуда они пришли в реальности.
  • Я понимаю, что дыра, но может есть какое-то ИНТЕРЕСНОЕ решение, связанное именно с сервисом Яндекс? Например в вебмастер яндекс можно скопировать ссылку на сайт, но она всё равно копируется не ya.ru/click?url=mysite.ru, а просто mysite.ru. Меня интересует именно через url наделить referer *.yandex.ru.
  • Также возможно через сервис почты mail.yandex.ru, но там ссылки тоже имеют вид mysite.ru, а не ya.ru/click?url=mysite.ru.
  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Мария Код Ответ

    Для передачи referer при редиректе в PHP можно использовать функцию header() и добавить нужное значение в заголовок Location.

    Пример кода:

    $referer = $_SERVER['HTTP_REFERER']; // получаем referer страницы
     
    header('Location: http://example.com/new_page.php', true, 301); // выполняем редирект на новую страницу
     
    header('Referrer-Policy: origin'); // устанавливаем политику referer для новой страницы

    $referer = $_SERVER['HTTP_REFERER']; // получаем referer страницы header('Location: http://example.com/new_page.php', true, 301); // выполняем редирект на новую страницу header('Referrer-Policy: origin'); // устанавливаем политику referer для новой страницы

    Здесь мы сначала получаем значение referer текущей страницы, затем с помощью функции header() выполняем редирект на новую страницу, передавая в заголовке Location новый URL. Также можно установить политику referer для новой страницы, указав нужное значение в заголовке Referrer-Policy.

    Обратите внимание, что некоторые браузеры могут не передавать referer при редиректе из-за политик безопасности. В таком случае рекомендуется использовать другие методы передачи информации между страницами, например, через параметры URL или сессии.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно