经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTMLCSS » HTML5 » 查看文章
HTTP的Referrer和Referrer Policy设置
来源:cnblogs  作者:AmyZYX  时间:2018/9/28 16:50:42  对本文有异议

Referrer

referrer是HTTP请求header的报文头,用于指明当前流量的来源参考页面。通过这个信息,我们可以知道访客是怎么来到当前页面的。这对于Web Analytics非常重要,可以用于分析不同渠道流量分布、用户搜索的关键词等。
但是,这个字段同时会造成用户敏感信息泄漏(如:带有敏感信息的重置密码URL,若被Web Analytics收集,则存在密码被重置的危险)。

Referrer Policy States

新的Referrer规定了五种策略:

  • No Referrer:任何情况下都不发送Referrer信息
  • No Referrer When Downgrade:仅当协议降级(如HTTPS页面引入HTTP资源)时不发送Referrer信息。是大部分浏览器默认策略。
  • Origin Only:发送只包含host部分的referrer.
  • Origin When Cross-origin:仅在发生跨域访问时发送只包含host的Referer,同域下还是完整的。与Origin Only的区别是多判断了是否Cross-origin。协议、域名和端口都一致,浏览器才认为是同域。
  • Unsafe URL:全部都发送Referrer信息。最宽松最不安全的策略。

referrer具体设置

CSP响应头

CSP(Content Security Policy)

  1. Content-Security-Policy: referrer no-referrer|no-referrer-when-downgrade|origin|origin-when-cross-origin|unsafe-url;

指令和指令值之间以空格分割,多个指令之间用英文分号分割。

标签

html页面的meta标签指定。
如果content属性不是合法的取值,浏览器会自动选择no-referer策略。

  1. <meta name="referrer" content="no-referrer|no-referrer-when-downgrade|origin|origin-when-crossorigin|unsafe-url">

标签的referer属性

  • 作用的只是当前标签。
  • 策略只有三中:不传、直传host都传。
  • 针对单个链接设置的策略优先级比CSP和要高。
  1. <a href="http://example.com" referrer="no-referrer|origin|unsafe-url">xxx</a>

PS:

题外话:楼主之前使用CNZZ进行站长统计,7月份开始,单个页面的访问统计失效,全部归入首页。今天终于明白,应该是博客园增加了referrer policy导致。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号