【问题标题】:When using Referrer-Header: no-referrer, how to resolve relative URL's from within nested pages?使用 Referrer-Header: no-referrer 时,如何从嵌套页面中解析相对 URL?
【发布时间】:2016-11-13 23:11:48
【问题描述】:

假设我在 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。

参考helmet.js 的文档,有一个安全建议涉及阻止浏览器发送referrer 标头。如果我要实现这一点,那么我如何在不知道将它们解析到哪条路径的情况下解析资产?

【问题讨论】:

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


    【解决方案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:我维护 Helmet,所以如果有任何文档不清楚,请告诉我!)

    【讨论】:

    • 谢谢埃文。我并没有忽略这一点,只是在等待有机会对此进行测试并给予这篇文章应有的关注!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 2020-07-14
    • 2013-09-29
    • 1970-01-01
    相关资源
    最近更新 更多