秋天的第一份“干货” I Referer 防盗链,为什么少了个字母 R?

Referer 为什么叫 Referer?它代表什么意思?在诸多防盗链竞争中它有什么优势?
今天,在聊 Referer 防盗链之前,先来聊聊我们在现实生活中常常碰到的推荐人(Referrer)信息。
我们在购买服务或加入会员时,有些会问你:“你从哪里知道了我们?”
Referrer 和 Referer
上面所说的就是所谓的推荐人(Referrer)信息。
对于公司来说,这是很有用的信息,企业根据这些信息,可以分析了解到数据由来,以此来调整推广渠道。

大部分用户可能都不会直接访问到某个陌生的网站,一般是通过关键字搜索再进去。那么可以去哪里查找到相关信息,服务器也想知道你的“引荐人”是谁?所以 HTTP 协议在请求头(Request-Header)里设计了 Referer 字段,来给出 “引荐人” 的 URL 地址。
Referer 是一个可选请求头,用于标识来源地址(URL) 来了解访问从何而来。Referer 正确拼写应该是「Referrer」,只是在写入标准时,人们没有发现缺少一个 ‘r’ 字符,后面想改已经来不及。所以就将错就错,就一直沿用到今天。

Referer 头由于可以指明来源地址,所以人们可以根据这些数据进行分析。比如,对于营销,市场,推广人员来说,通过 Referer 字段,能了解访问都是通过哪些搜索引擎“推荐人”引流而来,以此依据,对各大搜索引擎进行广告投放。


浏览器在访问资源时,会根据不同的场景,来带上不同的 Referer 参数值来进行请求,所以我们可以根据信息对请求进行过滤判断——Referer 防盗链, 设定对应规则,让符合引用规则地址可以访问,不符合规则通过 403 进行权限控制。
Referer 防盗链实用小技巧
在又拍云,我们可以根据 Referer 黑白名单,是否允许 Referer 为空等配置规则对访问进行权限配置。

如果只想指定网页内(*upyun.com)引用资源,其它域名拒绝盗链访问。可设置 Referer 白名单并且不允许 Referer 为空访问方式(当 Referer 不能为空时表示,拒绝浏览器直接指定 URL 资源,必须通过 Referer 头引用进行访问,不然也会被限制访问),以避免其他域名进行资源盗链。
在此,我们使用 HTTP 客户端命令行工具 HTTPie[https://httpie.org/](工具支持语言高亮,可以更加清晰表明访问方式) 来进行测试。
当未指定 Referer 值, Referer 为空时,无法通过 Referer 访问控制,访问响应 403 拒绝访问。

当指定 Referer :www.baidu.com 访问时,没有匹配到 *upyun.com 白名单设置,访问响应 403 拒绝访问。

当指定 Referer:www.upyun.com 访问时,匹配通过 *upyun.com 白名单设置,访问响应 200 ,资源访问成功。

除了 Referer 防盗链,又拍云还提供多种访问控制功能,包括 IP 黑白名单,地区访问限制,Referer 防盗链,User-Agent 防盗链,Token 防盗链等,方便用户对访问权限进行配置。如果您想了解更多,可以查看《如何选择适合自己网站的防盗链》这篇内容,了解更多相关知识。

推荐阅读
秋天的第一份“干货” I Referer 防盗链,为什么少了个字母 R?的更多相关文章
- php 通过referer防盗链(以图片为例)
1.在网页里访问站外图片时,服务器如何知道是在站外引用的呢? (1)对比本服务器请求与跨服务器请求 图一——本服务器请求 图二——显示盗链的referer信息 通过对比也就知道referer显示的是引 ...
- Nginx referer防盗链模块
L75 referer模块 ngx_http_referer_module 默认编译进nginx valid_referers 指令 Syntax: valid_referers none | blo ...
- [Java][Web]利用 referer 防盗链
String referer = request.getHeader("referer"); if(referer == null || !referer.startsWith(& ...
- Referer防盗链
一.目录展示 分为AProject和BProject两个项目进行测试 二.修改c:\windows\system32\drivers\etc下的hosts文件 三.aindex.jsp 四.binde ...
- 使用NGINX+LUA实现WAF功能 和nginx 防盗链
使用NGINX+LUA实现WAF功能 一.了解WAF 1.1 什么是WAF Web应用防护系统(也称:网站应用级入侵防御系统 .英文:Web Application Firewall,简称: WAF) ...
- HTTP协议、时间戳、防盗链的一些概念
HTTP协议 什么是HTTP协议 (HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准. HTTP是一 ...
- request 防盗链
package request; import java.io.IOException;import javax.servlet.ServletException;import javax.servl ...
- Nginx优化之日志优化,URL访问控制,防盗链,及站点文件目录优化
Nginx日志相关优化与安全 日志切割脚本如下: #!/bin #日志切割脚本 Date=`date +%Y%m%d` Bdir="/usr/local/nginx" Nginxl ...
- PHP伪造referer突破防盗链
php伪造referer实例代码,主要用于一些突破防盗链. 可以从这个例子中发展出很多的应用.比如隐藏真实的URL地址……嘿嘿,具体的就自己分析去吧 这里新建一个文件file.php.后面的参数就是需 ...
随机推荐
- 黑马新版PYTHON教学课程(全)资料加视频完整版百度网盘资料
黑马新版PYTHON教学课程(全)资料加视频完整版 无加密,适合0基础人群.基础班+就业班.不用解压在线看 百度网盘地址一 淘宝店地址二
- v-html渲染富文本图片宽高问题
v-html渲染富文本v-html是用来渲染html的节点及字符串的,但是渲染后富文本里的图片宽高会溢出所在div的区域但是使用css直接给img是没有办法设置img的宽高的,需要使用深层级来给img ...
- 为wordpress的分类以及子分类指定固定模版
在wordpress主题开发有多个不同分类页面时,通常使用category-{slug}.php的方式分别为每个分类开发不同的页面模版,slug为该分类的别名,并且无需其他设置仅仅以此命名即可. 但是 ...
- Java高级特性——反射机制(第二篇)
在Java高级特性——反射机制(第一篇)中,写了很多反射的实例,可能对于Class的了解还是有点迷糊,那么我们试着从内存角度去分析一下. Java内存 从上图可以看出,Java将内存分为堆.栈.方法区 ...
- javaScript高级含Es6
JavaScript高级第01天笔记 1.面向过程与面向对象 1.1面向过程 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次调用就可以了. 1.2 ...
- IDEA run/debug configurations中没有配置tomcat选项
原文链接:https://blog.csdn.net/qq_41016818/article/details/80871738 原因分析 没有配置tomcat插件 解决方法如下: file->s ...
- 这么高颜值的Kubernetes管理工具Lens,难道还不能C位出道吗
1 前言 欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章! Docker & Kubernetes相关文章:容器技术 一直使用官方的Kubernetes Dashboard来管 ...
- 【java学习笔记】LongAdder
目录 1.背景 2.LongAdder 3.Striped64内部结构 4.LongAdder的add方法解析 5.Striped64的longAccumulate方法解析 6.总结 LongAdde ...
- TCP/IP网络编程之字节序和网络字节序
一.概要 本篇文章主要讲解基于.net中tcp/ip网络通信编程中的网络字节序.在自我进步的过程中记录这些内容,方便自己记忆的同时也希望可以帮助到大家.技术的进步源自于分享和不断的自我突破. 技术交流 ...
- 获取android手机的屏幕分辨率 android开发
/** * 获取屏幕分辨率 */ private void getResolution() { // TODO Auto-generated method stub Display display = ...