存储在阿里云OSS上的文件,如何设置防盗链功能

发布:凯铧互联小编

本文讲解的是存储在阿里云OSS上的文件,如何设置防盗链功能。如果您还有阿里云其他技术问题可以直接咨询本站客服,专业技术人员会为您提供7×24技术服务。
阿里云OSS是按使用量收费的服务,为了防止用户在OSS上的数据被其他人盗链,OSS支持基于HTTP header中表头字段referer的防盗链方法。用户可以通过OSS管理控制台或者API的方式对一个Bucket设置referer字段的白名单和是否允许referer字段为空的请求访问。
例如,对于一个名为mydata的bucket,设置其referer白名单不允许为空且refer设置允许http://www.aliyun.com,则所有referer为http://www.aliyun.com的请求才能访问mydata这个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。
二、OSS管理控制台开启防盗链功能操作步骤
进入 OSS 管理控制台 界面。
在左侧存储空间列表中,单击目标存储空间名称,打开该存储空间概览页面。
单击 基础设置 页签,找到 防盗链 区域。
单击 设置,进行以下设置:
在 Referer 框中,添加白名单网址。多个 Referer 网址使用换行符分隔。
在 空 Referer 框中,选择是否允许 Referer 为空。
单击 保存。
举例
对于一个名为 test-1-001 的存储空间,设置其Referer白名单为 http://www.aliyun.com。则只有 Referer 为 http://www.aliyun.com 的请求才能访问 test-1-001 这个存储空间中的对象。
三、API:Put Bucket Referer防盗链功能操作步骤
PutBucketReferer接口用于设置一个Bucket的Referer访问白名单和是否允许Referer字段为空的请求访问。
请求语法
PUT /?referer HTTP/1.1
Date: GMT Date
Content-Length:ContentLength
Content-Type: application/xml
Host: BucketName.oss.aliyuncs.com
Authorization: SignatureValue

true

http://www.aliyun.com
https://www.aliyun.com
http://www.*.com
https://www.?.aliyuncs.com

请求元素(Request Elements)

细节分析
只有Bucket的拥有者才能发起Put Bucket Referer请求,否则返回403 Forbidden消息。错误码:AccessDenied。
AllowEmptyReferer中指定的配置将替换之前的AllowEmptyReferer配置,该字段为必填项,系统中默认的AllowEmptyReferer配置为true。
此操作将用RefererList中的白名单列表覆盖之前配置的白名单列表,当用户上传的RefererList为空时(不包含Referer请求元素),此操作会覆盖已配置的白名单列表,即删除之前配置的RefererList。
如果用户上传了Content-MD5请求头,OSS会计算body的Content-MD5并检查一致性,如果不一致,将返回InvalidDigest错误码。

以上就是存储在阿里云OSS上的文件,如何设置防盗链功能。

 

凯铧互联提供阿里云服务器折上折代购服务,低至7.5折,几乎阿里云全线产品都可以代购!

如果您的问题还未能解决,您可以联系阿里云代理商凯铧互联客服寻求帮助。阿里云代理商凯铧互联提供阿里云服务器/企业邮箱等产品的代购服务,同样的品质,更多贴心的服务,更实惠的价格。 阿里云代理商凯铧互联会为您提供一对一专业全面的技术服务,同时还能为您提供阿里云其他产品购买的专属折扣优惠。通过凯铧互联购买可以获得折上折优惠!若您需要帮助可以直接联系我方客服,阿里云代理商凯铧互联专业技术团队为您提供全面便捷专业的7×24技术服务。 电话专线:136-5130-9831,QQ:3398234753。
购买阿里云产品找阿里代理凯铧互联更实惠!!