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源码解析2-AtomicIntegerT类

    AtomicIntegerT template<typename T> class atomicTntergerT:public noncopyable { }; 作用: 与std::ao ...

  2. 从 BIO、NIO 聊到 Netty,最后还要实现个 RPC 框架!

    大家好,我是 「后端技术进阶」 作者,一个热爱技术的少年. 觉得不错的话,欢迎 star!ღ( ´・ᴗ・` )比心 Netty 从入门到实战系列文章地址:https://github.com/Snai ...

  3. Vue项目——Supermall移动端购物商城

    一.项目描述 基于Vue全家桶构建的移动端购物商城APP.页面一共分为:首页.详情页.分类页.购物车页面.登录页面和个人信息页面. 二.使用技术 使用Vue CLI3快速搭建Vue开发环境以及对应的w ...

  4. .NET ORM 导航属性【到底】可以解决什么问题?

    写在开头 从最早期入门时的单表操作, 到后来接触了 left join.right join.inner join 查询, 因为经费有限,需要不断在多表查询中折腾解决实际需求,不知道是否有过这样的经历 ...

  5. Javascript逻辑运算认识

    1 - 运算符(操作符) 1.1 运算符的分类 运算符(operator)也被称为操作符,是用于实现赋值.比较和执行算数运算等功能的符号. JavaScript中常用的运算符有: 算数运算符 递增和递 ...

  6. 断言函数-RF

    测试用例的目的是要验证一些操作否符合我们的预期结果,所以在测试用例中,断言函数是必不可少的一项.我们做的每一步操作都会有预期的结果,为了保证操作得到的结果符合预期,我们需要在测试用例中添加断言,来保证 ...

  7. vue实现pdf文件的在线预览

    我是通过 <iframe> 标签就可以满足我工作的 pdf预览需求 如果<iframe> 无法满足需求 , 可以使用pdf.js这个插件,功能强大. <iframe :s ...

  8. Hadoop Windows IDEA

    java jdk1.8都可以了 注意jdk的路径要拷贝到一个没有空格的路径改掉JAVA_HOME系统环境变量 在etc/hadoop/hadoop_env.cmd里有设置%JAVA_HOME%了不用管 ...

  9. 使用Telnet服务测试端口时,提示没有Telnet服务

    1.win7系统是默认不开启Telnet服务的,所以我们第一次使用时要手动开启Telnet服务 1)打开 控制面板 > 程序 > 程序功能 > 打开或关闭Windows功能,勾选上T ...

  10. 为什么 char 数组比 String 更适合存储密码?

    推荐阅读:5 个刁钻的 String 面试题! 另一个基于 String 的棘手 Java 问题,相信我只有很少的 Java 程序员可以正确回答这个问题. 这是一个真正艰难的核心 Java 面试问题, ...