При использовании Referrer-Header: no-referrer, как разрешить относительные URL из вложенных страниц?

Допустим, у меня есть страница по адресу www.example.com/pages/page.html, а у page.html есть относительные URL-адреса скриптов / ссылок. Обычно я знаю, что нужно обслуживать /pages/js/page_js.js или /pages/css/page_css.css, чтобы проверить заголовок "referrer", чтобы увидеть, что это был http://www.example.com/pages. В противном случае мой относительный скрипт, который выглядит так: <script src="js/page_js.js"></script> будет на самом деле разрешить /js/page_js.js на моем сервере.

Ссылаясь на документацию по шлему.js, есть рекомендация по безопасности, которая включает блокировку браузера от отправки referrer заголовок. Если бы я должен был это реализовать, тогда как я мог бы разрешить активы, не зная, к какому пути их разрешать?

1 ответ

Если example.com/pages/page.html выглядит так:

<!doctype html>
<html>
<body>

  <script src="js/a.js"></script>

  <script src="/js/b.js"></script>

</body>
</html>

Браузер знает, как превратить это в два запроса: один на example.com/pages/js/a.js, а другой на example.com/js/b.js. Referer заголовок не слишком уместен в этом случае.

(PS: я поддерживаю Шлем, так что если какая-либо из этих документов неясна, дайте мне знать!)

Другие вопросы по тегам