使用Referrer-Header:no-referrer时,如何从嵌套页面中解析相对URL?

时间:2016-11-13 23:11:48

标签: http webserver referrer http-referer helmet.js

我们说我在www.example.com/pages/page.html上有一个页面,而page.html有相关的脚本/链接网址。我通常知道服务/pages/js/page_js.js或/pages/css/page_css.css的方法是检查&#34;引用者&#34;标题,看它是http://www.example.com/pages。否则,我的相对脚本看起来像:<script src="js/page_js.js"></script>实际上会解析为我服务器上的/js/page_js.js。

请参阅helmet.js的文档,其中包含阻止浏览器发送referrer标头的安全建议。如果我要实现这个,那么我怎么能在不知道将它们解析到哪个路径的情况下解析资产呢?

1 个答案:

答案 0 :(得分: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:我维护头盔,所以如果有任何文件不清楚,请告诉我!)