すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:PutBucketReferer

最終更新日:Jul 09, 2025

Object Storage Service (OSS) バケットのリファラー ホワイトリストまたはブラックリストを構成します。

権限

デフォルトでは、Alibaba Cloud アカウントはすべての権限を持っています。 RAM ユーザーまたは Alibaba Cloud アカウント下の RAM ロールは、デフォルトでは権限を持っていません。 Alibaba Cloud アカウントまたはアカウント管理者は、RAM ポリシー または バケットポリシー を介して操作権限を付与する必要があります。

API

アクション

定義

PutBucketReferer

oss:PutBucketReferer

バケットのホットリンク保護を構成します。

リクエスト構文

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>false</AllowEmptyReferer>
  <AllowTruncateQueryString>true</AllowTruncateQueryString>
  <TruncatePath>true</TruncatePath>
  <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>
  <RefererBlacklist>
    <Referer>http://www.refuse.com</Referer>
    <Referer>https://*.hack.com</Referer>
    <Referer>http://ban.*.com</Referer>
    <Referer>https://www.?.deny.com</Referer>
  </RefererBlacklist>
</RefererConfiguration>

リクエスト要素

要素

タイプ

必須

説明

RefererConfiguration

コンテナ

はい

該当なし

ホットリンク保護構成を格納するコンテナ。

子ノード: AllowEmptyReferer、AllowTruncateQueryString、RefererList

親ノード: なし

AllowEmptyReferer

列挙型文字列

はい

false

Referer フィールドが空のリクエストを許可するかどうかを指定します。有効な値:

  • true (デフォルト)

  • false

親ノード: RefererConfiguration

AllowTruncateQueryString

列挙型文字列

いいえ

true

Referer が一致した場合に、URL 内のクエリ文字列を切り捨てるかどうかを指定します。有効な値:

  • true

  • false (デフォルト)

親ノード: RefererConfiguration

TruncatePath

列挙型文字列

いいえ

true

Referer が一致した場合に、URL 内のパスとパス以降の部分を切り捨てるかどうかを指定します。有効な値:

  • true

    重要

    TruncatePath が true に設定されている場合、クエリ文字列はパスコンポーネントの後にあるため、AllowTruncateQueryString の値も true である必要があります。パスが切り捨てられると、クエリ文字列も切り捨てられます。

  • false (デフォルト)

親ノード: RefererConfiguration

RefererList

コンテナ

はい

該当なし

リファラー ホワイトリストを格納するコンテナ。

説明

PutBucketReferer 操作は、既存のリファラー ホワイトリストを RefererList で指定されたリファラー ホワイトリストで上書きします。リクエストで RefererList が指定されていない場合、つまり Referer 要素が含まれていない場合は、PutBucketReferer 操作によって既存のリファラー ホワイトリストがクリアされます。

親ノード: RefererConfiguration

子ノード: Referer

RefererBlacklist

コンテナ

いいえ

該当なし

リファラー ブラックリストを格納するコンテナ。

説明

PutBucketReferer 操作は、既存のリファラー ブラックリストを RefererBlacklist で指定されたリファラー ブラックリストで上書きします。リクエストで RefererBlacklist が指定されていない場合、つまり Referer 要素が含まれていない場合は、PutBucketReferer 操作によって既存のリファラー ブラックリストがクリアされます。

親ノード: RefererConfiguration

子ノード: Referer

Referer

文字列

いいえ

http://www.aliyun.com

リファラー ホワイトリストまたはブラックリスト内のアドレス。

親ノード: RefererList または RefererBlacklist

PutBucketReferer 操作の Host や Date などの一般的なリクエストヘッダーの詳細については、「共通リクエストヘッダー」をご参照ください。

レスポンスヘッダー

PutBucketReferer リクエストへのレスポンス内のすべてのヘッダーは、共通レスポンスヘッダーです。詳細については、「共通レスポンスヘッダー」をご参照ください。

サンプルリクエスト

  • リファラー ホワイトリストまたはリファラー ブラックリストを含まないサンプルリクエスト

    PUT /?referer HTTP/1.1
    Host: BucketName.oss.example.com
    Content-Length: 247
    Date: Thu, 17 Apr 2025 03:21:12 GMT
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    <?xml version="1.0" encoding="UTF-8"?>
    <RefererConfiguration>
      <AllowEmptyReferer>true</AllowEmptyReferer>
      <RefererList/>
    </RefererConfiguration>                            
  • リファラー ホワイトリストのみを含むサンプルリクエスト

    PUT /?referer HTTP/1.1
    Host: BucketName.oss.example.com
    Content-Length: 247
    Date: Thu, 17 Apr 2025 03:21:12 GMT
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    <?xml version="1.0" encoding="UTF-8"?>
    <RefererConfiguration>
      <AllowEmptyReferer>false</AllowEmptyReferer>
      <AllowTruncateQueryString>true</AllowTruncateQueryString>
      <TruncatePath>true</TruncatePath>
      <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>                            
  • リファラー ホワイトリストとリファラー ブラックリストを含むサンプルリクエスト

    PUT /?referer HTTP/1.1
    Host: BucketName.oss.example.com
    Content-Length: ***
    Date: Thu, 17 Apr 2025 03:21:12 GMT
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    <?xml version="1.0" encoding="UTF-8"?>
    <RefererConfiguration>
      <AllowEmptyReferer>false</AllowEmptyReferer>
      <AllowTruncateQueryString>true</AllowTruncateQueryString>
      <TruncatePath>true</TruncatePath>
      <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>
      <RefererBlacklist>
        <Referer>http://www.refuse.com</Referer>
        <Referer>https://*.hack.com</Referer>
        <Referer>http://ban.*.com</Referer>
        <Referer>https://www.?.deny.com</Referer>
      </RefererBlacklist>
    </RefererConfiguration>

サンプルレスポンス

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

OSS SDK

以下のプログラミング言語の OSS SDK を使用して、PutBucketReferer 操作を呼び出すことができます。

ossutil

PutBucketReferer 操作に対応する ossutil コマンドについては、「put-bucket-referer」をご参照ください。

エラーコード

エラーコード

HTTP ステータスコード

説明

AccessDenied

403

PutBucketReferer 操作を実行する権限がありません。バケットの所有者のみが PutBucketReferer リクエストを開始できます。

InvalidDigest

400

OSS によって計算されたメッセージ本文の Content-MD5 値が、リクエストヘッダーの Content-MD5 値と一致しません。 Content-MD5 リクエストヘッダーがアップロードされると、OSS はメッセージ本文に基づいて MD5 ハッシュを計算し、計算された MD5 ハッシュがリクエストヘッダーで指定された Content-MD5 値と同じかどうかを確認します。 MD5 ハッシュが一致しない場合、このエラーコードが返されます。

InlineDataTooLarge

400

リファラー ホワイトリストとブラックリストが上限の 20 KB を超えています。リファラー ホワイトリストとブラックリストのエントリを減らしてください。