閱讀578 返回首頁    go 阿裏雲


PutBucketReferer__關於Bucket的操作_API 參考_對象存儲 OSS-阿裏雲

Put Bucket Referer操作可以設置一個bucket的referer訪問白名單和是否允許referer字段為空的請求訪問。Bucket Referer防盜鏈具體見OSS防盜鏈

請求語法

PUT /?referer HTTP/1.1
Date: GMT Date
Content-Length:ContentLength
Content-Type: application/xml
Host: BucketName.oss.aliyuncs.com
Authorization: SignatureValue

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

請求元素(Request Elements)

名稱 描述 是否必需
RefererConfiguration 保存Referer配置內容的容器
類型:容器
子節點:AllowEmptyReferer節點、RefererList節點
父節點:無
AllowEmptyReferer 指定是否允許referer字段為空的請求訪問。
類型:枚舉字符串
有效值:true或false 默認值:true
父節點:RefererConfiguration
RefererList 保存referer訪問白名單的容器。
類型:容器
父節點:RefererConfiguration
子節點:Referer
Referer 指定一條referer訪問白名單。
類型:字符串
父節點:RefererList
可選

細節分析

  1. 隻有Bucket的擁有者才能發起Put Bucket Referer請求,否則返回403 Forbidden消息。錯誤碼:AccessDenied。
  2. AllowEmptyReferer中指定的配置將替換之前的AllowEmptyReferer配置,該字段為必填項,係統中默認的AllowEmptyReferer配置為true。
  3. 此操作將用RefererList中的白名單列表覆蓋之前配置的白名單列表,當用戶上傳的RefererList為空時(不包含Referer請求元素),此操作會覆蓋已配置的白名單列表,即刪除之前配置的RefererList。
  4. 如果用戶上傳了Content-MD5請求頭,OSS會計算body的Content-MD5並檢查一致性,如果不一致,將返回InvalidDigest錯誤碼。

示例

請求示例:

不包含Referer的請求示例:

PUT /?referer HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 247
Date: Fri, 04 May 2012 03:21:12 GMT
Authorization: OSS qn6qrrqxo2oawuk53otfjbyc:KU5h8YMUC78M30dXqf3JxrTZHiA=

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

包含Referer的請求示例:

PUT /?referer HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 247
Date: Fri, 04 May 2012 03:21:12 GMT
Authorization: OSS qn6qrrqxo2oawuk53otfjbyc:KU5h8YMUC78M30dXqf3JxrTZHiA=

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

返回示例:

HTTP/1.1 200 OK
x-oss-request-id: 534B371674E88A4D8906008B
Date: Fri, 04 May 2012 03:21:12 GMT
Content-Length: 0
Connection: keep-alive
Server: AliyunOSS

最後更新:2016-11-23 17:16:07

  上一篇:go PutBucketWebsite__關於Bucket的操作_API 參考_對象存儲 OSS-阿裏雲
  下一篇:go PutBucketLifecycle__關於Bucket的操作_API 參考_對象存儲 OSS-阿裏雲