2013-03-10 2 views
1

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

После нескольких часов поиска и попытки я собирался сдаться, но я что-то шокировал! Когда вы отправляете ссылку через Gmail, нажав на нее, Gmail перенаправляет вас на другую страницу, а затем начинает загрузку файла. Я имею в виду, что Gmail перенаправляется без набора рефереров. Как я могу это сделать в своем коде?

tl; dr: Когда пользователи нажимают на ссылку, я хочу перенаправить пользователя на внешний url, не отправляя данные реферера!

ответ

1

К сожалению, это непоследовательно реализовано.

Как отмечалось here

  • HTTP-реферер заголовка HTTP (-Referer) устанавливается при смене window.location.href в следующих браузерах:
    • MSIE 9 (но, вероятно, любой версии выше 9)
    • Firefox (не менее 3.0, 3.5, 4.0, 5.0, но, скорее всего, все версии)
    • Chrome (не менее 9, но, скорее всего, все версии)
    • Сафари (по крайней мере 5, но, скорее всего, все версии)
    • Opera (по крайней мере 11, но, скорее всего, все версии)
  • MSIE (по крайней мере, 6, 7, 8): реферер является не набора при изменении window.location.href

вы можете рассмотреть нажав на него через , но вы все еще будете видеть разные результаты на разных браузерах.

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

+0

ОК, но как это делают Google и Facebook? –

+0

@faridv, если я нажму ссылку на моей домашней странице, отображается ссылка: http://i.imgur.com/cPhirel.png – Martin

Смежные вопросы