阿里云OSS防盗链设置

  1. 2017-11-19 20:47:25
  2. 热度: 642 ℃
  3. 标签:
  4. 作者: 友乐

今天遇到一个OSS用户,可能是百度把它的网站图片做成图片镜像了,流量特别大,大家看一看,一天的费用就是200块钱,其实它的服务器网站也没过大流量,所以我们必须做一下防盗链,防止百度盗图.

OSS是按使用收费的服务,为了防止您在OSS上的数据被其他人盗链,OSS支持基于HTTP header中表头字段referer的防盗链方法。您可以通过OSS管理控制台或者API的方式对一个Bucket设置referer字段的白名单和是否允许referer字段为空的请求访问。例如,对于一个名为oss-example的Bucket,设置其referer白名单为https://www.7hubei.com/。则所有referer为https://www.7hubei.com/的请求才能访问oss-example这个Bucket中的Object。

细节分析

  • 用户只有通过URL签名或者匿名访问Object时,才会做防盗链验证。请求的Header中有“Authorization”字段的,不会做防盗链验证。
  • 一个Bucket可以支持多个referer参数。通过控制台设置时通过回车作为换行符分隔,通过API设置时通过逗号“,”分隔。
  • Referer参数支持通配符“*”和“?”。
  • 用户可以设置是否允许referer字段为空的请求访问。
  • 白名单为空时,不会检查referer字段是否为空(不然所有的请求都会被拒绝)。
  • 白名单不为空,且设置了不允许referer字段为空的规则;则只有referer属于白名单的请求被允许,其他请求(包括referer为空的请求)会被拒绝。
  • 如果白名单不为空,但设置了允许referer字段为空的规则;则referer为空的请求和符合白名单的请求会被允许;其他请求都会被拒绝。
  • Bucket的三种权限(private,public-read,public-read-write)都会检查referer字段。

通配符详解

  • 星号“*”:可以使用星号代替0个或多个字符。如果正在查找以AEW开头的一个文件,但不记得文件名其余部分,可以输入AEW*,查找以AEW开头的所有文件类型的文件,如AEWT.txt、AEWU.EXE、AEWI.dll等。要缩小范围可以输入AEW*.txt,查找以AEW开头的所有文件类型并以.txt为扩展名的文件如AEWIP.txt、AEWDF.txt。
  • 问号“?”:可以使用问号代替一个字符。如果输入love?,查找以love开头的一个字符结尾文件类型的文件,如lovey、lovei等。要缩小范围可以输入love?.doc,查找以love开头的一个字符结尾文件类型并以.doc为扩展名的文件如lovey.doc、loveh.doc。

  • http://*shte.cn
  • http://xg.oss-cn-zhangjiakou.aliyuncs.com
  • https://*.shte.cn
  • https://xg.oss-cn-zhangjiakou.aliyuncs.com

以上我是这样设置防盗链的

回车换行.

解释一下为什么 要这样设置 https http是协议,按阿里云的提示,必须要填,* 表示所有 www.shte.cn shte.cn等的网站都可以正常访问调用图片, xg.oss-cn-zhangjiakou.aliyuncs.com 是oss的地址.

转载请注明:友乐网站搬家迁移上云服务 » 阿里云OSS防盗链设置

本文固定链接: https://www.7hubei.com/325.html | 友乐网站搬家迁移上云服务

提示:我们主营主机、域名,并做网站搬家、源码安装、服务器搭建、网站建设等网站相关工作。
QQ号:76963956 微信号:76963956
该文章由 友乐 于2017年11月19日发表在 友乐杂谈 分类下。