403错误
表示资源不可用。服务器理解客户的请求,但拒绝处理它,通常由于服务器上文件或目录 的权限设置导致的WEB访问错误。
遇到的情况:当访问 CDN 或者 第三方资源的时候,经常会出现 403,例如:
解决方案:
<meta name="referrer" content="no-referrer" />
当用户在浏览器上点击一个链接时,会产生一个 HTTP 请求,用于获取新的页面内容,而在该请求的报头中,会包含一个 Referrer,用以指定该请求是从哪个页面跳转页来的,常被用于分析用户来源等信息。但是也有成为用户的一个不安全因素,比如有些网站直接将 sessionid 或是 token 放在地址栏里传递的,会原样不动地当作 Referrer 报头的内容传递给第三方网站。
Referrer Policy规定了五种Referrer策略:
- No Referrer、
- No Referrer When Downgrade、
- Origin Only、
- Origin When Cross-origin、
- Unsafe URL。
Referrer-Policy常见属性
no-referrer 任何情况下都不发送referer
no-referrer-when-downgrade //在同等安全等级下(例如https页面请求https地址),发送referer,但当请求方低于发送方(例如https页面请求http地址),不发送referer
origin //仅仅发送origin,即protocal+host
origin-when-cross-origin //跨域时发送origin
same-origin //当双方origin相同时发送
strict-origin //当双方origin相同且安全等级相同时发送
unfafe-url //任何情况下都显示完整的referer
其他:
<meta name="referrer" content="always"> //不改变http header 中的 referer 的值。
注意:这种情况下,如果当前页面使用了 https 协议,而要加载的资源使用的是 http 协议,加载资源的请求头中也会携带 referer。
相关使用介绍在这里:
http://www.freebuf.com/news/57497.html
http://smerity.com/articles/2013/where_did_all_the_http_referrers_go.html
相关资料文章: