2016-11-13 8 views
0

Предположим, у меня есть страница на 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 на моем сервере.При использовании Referrer-Header: no-referrer, как разрешать относительные URL-адреса изнутри вложенных страниц?

Ссылаясь на документацию helmet.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: Я поддерживаю шлем, так что если какой-либо из этой документации неясно, дайте мне знать)

+0

Спасибо Эван. Я не игнорирую это, просто ожидая возможности проверить это и дать этому сообщению внимание, которого он заслуживает! – papiro