为了防止您在OSS上的数据被其他人盗链而产生额外费用,您可以设置防盗链功能,包括以下参数:
  • Referer白名单。仅允许指定的域名访问OSS资源。
  • 是否允许空Referer。如果不允许空Referer,则只有HTTP或HTTPS header中包含Referer字段的请求才能访问OSS资源。

例如,对于一个名为oss-example的Bucket,设置其Referer白名单为http://www.aliyun.com/。则所有Referer为http://www.aliyun.com/的请求才能访问oss-example这个Bucket中的Object。

细节分析

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

功能使用参考