今天给我的网站 https://www.kevinguo.cn/ 添加 百度统计代码,在检查代码时出现错误,提示referrer出错。
如何解决?
1.统计代码放置位置
需要紧挨着</head>之前。
2.添加以下代码在头部
<meta name="referrer" content="strict-origin-when-cross-origin">
相关知识:HTTP头部 referrer
Referrer介绍
referrer 通常用来代表访问网站进入的路径,HTTP Referrer是Header的一部分,当浏览器发送请求时会携带referrer,
作用
网站通过校验referrer来只允许某些网站的请求。
特别注意
本页面发起的ajax请求仍然是携带本页面的referrer。
Referrer Policy
当用户在浏览器上点击一个链接时,会产生一个 HTTP 请求,用于获取新的页面内容,而在该请求的报头中,会包含一个 Referrer,用以指定该请求是从哪个页面跳转页来的,常被用于分析用户来源等信息。但是也有成为用户的一个不安全因素,比如有些网站直接将 sessionid 或是 token 放在地址栏里传递的,会原样不动地当作 Referrer 报头的内容传递给第三方网站。
所以就有了 Referrer Policy,用于过滤 Referrer 报头内容,目前是一个候选标准,不过已经有部分浏览器支持该标准。具体的可查看这里。
{
“”,
“no-referrer”,
“no-referrer-when-downgrade”,
“same-origin”,
“origin”,
“strict-origin”,
“origin-when-cross-origin”,
“strict-origin-when-cross-origin”,
“unsafe-url”
};
传递方式
1.Referrer-Policy 报头
推荐的方式是在报头中设置
2.Meta
content 可以是上面的指定的值,也可以是下面这几种旧的指令值,会自动作相应的转换,但不推荐这些旧的指令值:
Legacy Referrer
never no-referrer
default no-referrer-when-downgrade
always unsafe-url
origin-when-crossorigin origin-when-cross-origin
设置
1.CSP 响应头
CSP(Content Security Policy),是一个跟页面内容安全有关的规范。在 HTTP 中通过响应头中的 Content-Security-Policy 字段来告诉浏览器当前页面要使用何种 CSP 策略。:
Content-Security-Policy: referrer
我们还可以在 里面设置:
<meta http-equiv="Content-Security-Policy" content="referrer">
2.meta 标签
通过 标签也可以指定 Referrer 策略,同样很简单:
<meta name="referrer" content="no-referrer">
我们把<meta> 放在 <head> ...</head> 之间。
注意,如果出现的位置不对会被忽略。
同样,如果没有给它定义 content 属性,或者 content 属性为空,也会被忽略。
欢迎访问:https://www.kevinguo.cn/ 了解大数据 人工智能 数据分析相关领域知识
参考文献:
[1].Referer和Referrer Policy详解_天猫精灵998的博客-CSDN博客_referer-policy