作者:不点包子 | 来源:互联网 | 2024-11-01 09:23
HTTPReferer是HTTP请求头部的一个重要字段,用于标识请求的来源页面。这一信息对于网站分析和流量统计至关重要,能够帮助我们了解用户是如何到达当前页面的。通过对Referer的策略配置,可以有效提升网站的安全性和用户体验。
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)
Content-Security-Policy: referrer no-referrer|no-referrer-when-downgrade|origin|origin-when-cross-origin|unsafe-url;
指令和指令值之间以空格分割,多个指令之间用英文分号分割。
标签
html页面的meta标签指定。
如果content属性不是合法的取值,浏览器会自动选择no-referer策略。
如果不想传referer参数:
标签的referer属性
- 作用的只是当前标签。
- 策略只有三中:不传、只host、都传(即完整URL)。
- 针对单个链接设置的策略优先级比CSP和要高。
xxx