详解Referer
-
Referer是什么
Referer 是请求头信息里的一个常见字段,它提供了访问来源的信息
当客户端向服务端发送请求时,都会携带 Referer 头字段,告知服务器该请求的来源,即
触发请求的页面链接 -
Referer存在的条件
1、点击页面中的超链接
2、通过
src或href属性加载静态资源,如图片、视频、脚本、样式等等3、通过
get或post发送请求 -
获取不到Referer的情况
1、直接在浏览器中输入
URL地址2、在
HTTPS应用中使用第三方应用的HTTP资源 -
Referer的作用
1、对应用流量的来源做统计
2、防止资源被盗链
详解盗链
-
什么是盗链
未经第三方授权或同意,就把其资源引用到了自己的应用上,比如图片、视频、文件下载等等,可以通过消耗第三方应用的流量来在自己的应用中使用这些资源
浏览器在页面呈现的过程中,拉取非当前应用的资源,就称为是盗链
-
实现盗链
1、在
HTTPS应用中使用第三方应用的HTTP资源2、通过设置 a 标签的 rel 属性
<a href="视频资源地址" target="_blank" rel="noopener noreferrer">通过设置
noreferrer属性禁用请求头部的Referer属性,可在新页面中访问防盗链资源通过设置
noopener属性在新打开的页面中不授予对打开它的文档的访问权限,即window.opener属性值返回null,以此来确保无法通过window.opener属性来篡改原始文档
注意事项
平常在应用中通过 a 标签链接第三方外部资源时(打开新页面),都应该添加以上属性,以增强应用的安全性
一起学习,加群交流看 沸点