Мы подписываемся на онлайн-ресурс, который использует http-referer как аутентификацию (плохая идея, я знаю), чтобы доказать, что запрос поступает из нашей интрасети (IP-адрес недоступен для этого как существует прокси более высокого уровня).Изменение http-referer через перенаправление
К сожалению, возможно, их система требует определенного URL-адреса референта вместо того, чтобы принимать домен. Это будет означать, что когда мы хотим ссылаться на ресурс с другой страницы, нам нужно будет либо зарегистрировать еще один URL-адрес с ними, либо ссылку на эффективную страницу всплеска, которую они должны повторить.
Если мы должны идти по этому пути, я хотел бы сделать это как незаметным, насколько это возможно, и так было интересно, что лучший подход должен был бы достичь следующего:
http://intranet/somerandomurl
имеет ссылку наhttp://intranet/AuthorisedUrl
, который должен быть ссылающейся наhttp://externalsite/
есть ли способ сделать это без буквально маки ng люди нажимают на ссылку? (подавляющее большинство браузеров будет IE6 или IE7, если это поможет, если кому-то нужно нажать на ссылку, но я могу использовать JS для большинства, я в порядке с этим).
Я думал, что это будет клиентская JS. Существуют ли проблемы с несовместимостью браузера с этим, хотя некоторые из них меняют референт по мере необходимости, а другие нет? (и да, я согласен с этим предостережением, но это не наша система, поэтому я ничего не могу с этим поделать). – Chao
Не должно быть никаких несоответствий браузера, но вы можете проверить его здесь: http://htmlto.com/redirect/1.html. Щелчок по ссылке приведет вас к 2.html, который будет переадресован Javascript на 3.php, который настроен на эхо HTTP_REFERER. Он должен сказать 2.html; если он когда-либо говорит 1.html, у вас есть непоследовательность браузера. – Yahel
Я стою исправлено; IE не передаст http_referer из перенаправления JavaScript; см. мое редактирование для исправления. – Yahel