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 防盗链等,方便用户对访问权限进行配置。如果您想了解更多,可以查看《如何选择适合自己网站的防盗链》这篇内容,了解更多相关知识。

推荐阅读

大家都在说的云安全,到底是怎么回事?

浅谈 FTP、FTPS 与 SFTP

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

  1. php 通过referer防盗链(以图片为例)

    1.在网页里访问站外图片时,服务器如何知道是在站外引用的呢? (1)对比本服务器请求与跨服务器请求 图一——本服务器请求 图二——显示盗链的referer信息 通过对比也就知道referer显示的是引 ...

  2. Nginx referer防盗链模块

    L75 referer模块 ngx_http_referer_module 默认编译进nginx valid_referers 指令 Syntax: valid_referers none | blo ...

  3. [Java][Web]利用 referer 防盗链

    String referer = request.getHeader("referer"); if(referer == null || !referer.startsWith(& ...

  4. Referer防盗链

    一.目录展示 分为AProject和BProject两个项目进行测试 二.修改c:\windows\system32\drivers\etc下的hosts文件 三.aindex.jsp 四.binde ...

  5. 使用NGINX+LUA实现WAF功能 和nginx 防盗链

    使用NGINX+LUA实现WAF功能 一.了解WAF 1.1 什么是WAF Web应用防护系统(也称:网站应用级入侵防御系统 .英文:Web Application Firewall,简称: WAF) ...

  6. HTTP协议、时间戳、防盗链的一些概念

    HTTP协议 什么是HTTP协议 (HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准. HTTP是一 ...

  7. request 防盗链

    package request; import java.io.IOException;import javax.servlet.ServletException;import javax.servl ...

  8. Nginx优化之日志优化,URL访问控制,防盗链,及站点文件目录优化

    Nginx日志相关优化与安全 日志切割脚本如下: #!/bin #日志切割脚本 Date=`date +%Y%m%d` Bdir="/usr/local/nginx" Nginxl ...

  9. PHP伪造referer突破防盗链

    php伪造referer实例代码,主要用于一些突破防盗链. 可以从这个例子中发展出很多的应用.比如隐藏真实的URL地址……嘿嘿,具体的就自己分析去吧 这里新建一个文件file.php.后面的参数就是需 ...

随机推荐

  1. muduo源码解析1-timestamp类

    timestamp class timestamp:public mymuduo::copyable, public boost::equality_comparable<timestamp&g ...

  2. hyperledger-fabric环境快速搭建踩坑集锦(实用)

    安装docker 及 docker-compose 安装docker没什么好说的,一部分教程都给出了指令,在这里就不谈了. docker-compose不同的教程给出了不同的方法,在这里介绍一种极为快 ...

  3. 如何发挥微博客在seo营销中的作用

    http://www.wocaoseo.com/thread-158-1-1.html 我们知道,现在微博客已经发展的相当成熟,普通一个人,只要会上网,就能开通属于自己的博客,进而可以时时地通过微博客 ...

  4. py_冒泡排序

    import random """ 排序:将一组无序记录序列调整为有序记录序列 列表排序:将无序列表调整为有序列表 输入:列表 输出:有序列表 升序与降序 内置函数sor ...

  5. Unimrcp通过Vendor传递随路数据

    摘要 项目中需要在MRCPV2的识别消息中,传递一些随路数据.

  6. MES系统与喷涂设备软件基于文本文件的数据对接方案

    产品在生产过程中除了记录产品本身的一些数据信息,往往还需要记录下生产设备的一些参数和状态,这也是MES系统的一个重要功能.客户的药物支架产品,需要用到微量药物喷涂设备,客户需要MES系统能完整记录下每 ...

  7. React-Native知识点相关

    React-Native相关 一,为什么要使用React-native? Hybrird的首屏时间太慢,白屏太久,影响用户体验: 原生native开发成本较高: 这里补充一点Webview的性能优化: ...

  8. googleEarth

    中国航天科技集团有限公司 http://www.spacechina.com/n25/n144/n210/index.html Celestia [官网]: https://celestia.spac ...

  9. 深入了解Netty【四】IO模型

    引言 IO模型就是操作数据输入输出的方式,在Linux系统中有5大IO模型:阻塞式IO模型.非阻塞式IO模型.IO复用模型.信号驱动式IO模型.异步IO模型. 因为学习Netty必不可少的要了解IO多 ...

  10. Java使用POI的SXSSFWorkbook与HSSFWorkbook导出复杂表头

    一.HSSFWorkbook与SXSSFWorkbook的区别: HSSFWorkbook是对Excel2003以前的版本进行操作的,即后缀名为.xls SXSSFWorkbook时对Excel200 ...