开发者社区> 问答> 正文

关于Bucket的操作之如何实现 GetBucketReferer?

Get Bucket Referer操作用于查看bucket的Referer相关配置。Bucket Referer防盗链具体见 OSS防盗链

请求语法GET /?referer HTTP/1.1
Host: BucketName.oss.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue





响应元素(Response Elements)

名称描述
RefererConfiguration保存Referer配置内容的容器 类型:容器 子节点:AllowEmptyReferer节点、RefererList节点 父节点:无
AllowEmptyReferer指定是否允许referer字段为空的请求访问。 类型:枚举字符串 有效值:true 或 false`默认值:true 父节点:RefererConfiguration
RefererList保存referer访问白名单的容器。 类型:容器 父节点:RefererConfiguration 子节点:Referer
Referer指定一条referer访问白名单。 类型:字符串 父节点:RefererList


细节分析

  1. 如果Bucket不存在,返回404错误。错误码:NoSuchBucket。
  2. 只有Bucket的拥有者才能查看Bucket的Referer配置信息,否则返回403 Forbidden错误,错误码:AccessDenied。
  3. 如果Bucket未进行Referer相关配置,OSS会返回默认的AllowEmptyReferer值和空的RefererList。


示例


[backcolor=transparent]请求示例: Get /?referer HTTP/1.1
Host: oss-example.oss.aliyuncs.com  
Date: Thu, 13 Sep 2012 07:51:28 GMT
Authorization: OSS qn6qrrqxo2oawuk53otfj byc: BuG4rRK+zNhH1AcF51NNHD39zXw=


[backcolor=transparent]已设置Referer规则的返回示例: HTTP/1.1 200
x-oss-request-id: 534B371674E88A4D8906008B
Date: Thu, 13 Sep 2012 07:51:28 GMT
Connection: keep-alive
Content-Length: 218  
Server: AliyunOSS

<?xml version="1.0" encoding="UTF-8"?>
<RefererConfiguration>
<AllowEmptyReferer>true</AllowEmptyReferer >
    <RefererList>
        <Referer> http://www.aliyun.com</Referer>
        <Referer> https://www.aliyun.com</Referer>
        <Referer> http://www.*.com</Referer>
        <Referer> https://www.?.aliyuncs.com</Referer>
    </RefererList>
</RefererConfiguration>


[backcolor=transparent]未设置Referer规则的返回示例: HTTP/1.1 200
x-oss-request-id: 534B371674E88A4D8906008B
Date: Thu, 13 Sep 2012 07:56:46 GMT
Connection: keep-alive
Content-Length: 308  
Server: AliyunOSS

<?xml version="1.0" encoding="UTF-8"?>
<RefererConfiguration>
<AllowEmptyReferer>true</AllowEmptyReferer >
< RefererList />
</RefererConfiguration>

展开
收起
青衫无名 2017-10-20 10:59:50 1883 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载