referer相关知识

作者: 海娩 | 来源:发表于2018-07-29 17:43 被阅读5次

    什么是referer?

    referrer是指返回跳转或打开到当前页面的那个页面的URI,举个例子,从 A网页 -> B网页,再B网页里的referrer就是A网页的URI。

    referer有什么用?

    Referer 请求头让服务器能够拿到请求资源的来源,可以用于分析用户的兴趣爱好、收集日志、优化缓存等等。同时也让服务器能够发现过时的和错误的链接并及时维护。

    referer有什么隐患?

    尽管如此,有时候,对于一个网站来说,由于涉及隐私和安全问题,防止 referrer 泄漏很重要
    比如,很多情况下我们的url会包含用户的个人信息。因此,有时候,我们需要移除页面上的referer信息

    移除页面referer的方法

    为一个单独的链接移除 referrer

    html5中有一个新属性rel,设置rel=“ noreferrer”就可以去掉referrer值,常常运用在<a>标签上。

        <a rel="noreferrer" href="http://baidu.com" />
    

    为iframe移除referrer

    嵌入一个iframe时用data加base64编码的方式

      // 处理iframe里的src
    base64Iframe = 'data:text/html;base64,' + delRefer(url)
      // 构建iframe,去掉referrer
    function delRefer (url) {
      let s = `<body style="margin: 0"><iframe src="${url}" width="100%" height="100%" sandbox="allow-same-origin allow-scripts allow-forms allow-popups allow-modals" frameborder="0"></iframe></body>`
      return Base64.encode(s) // 通过base64编码该标签
    },
    

    为整个网页的每个链接移除 referrer

    这个时候可以设置meta标签的name属性,在设置content

    <meta name="referrer" content="never" >
    

    设置了name=“referrer“,根据content不同的值可以有不同的策略

    image.png

    其他情况

    HTTPS协议到HTTP的协议,这时候Referer也是空的

    相关文章

      网友评论

        本文标题:referer相关知识

        本文链接:https://www.haomeiwen.com/subject/jyftvftx.html