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

Object Storage Service:PutBucketReferer

最終更新日:Feb 23, 2024

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

リクエスト構文

PUT /?referer HTTP/1.1
日付: GMT日付
Content-Length: ContentLength
Content-Type: application/xml
ホスト: BucketName.oss.aliyuncs.com
権限付与: 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>
    <リファラー> http:// www.*.com</リファラー>
    <リファラー> https:// www.?.aliyuncs.com</リファラー>
  </RefererList>
  <RefererBlacklist>
    <Referer>http://www.refuse.com</Referer>
    <リファラー> https:// * .hack.com</リファラー>
    <リファラー> http:// ban.*.com</リファラー>
    <リファラー> https:// www.?.deny.com</リファラー>
  </RefererBlacklist>
</RefererConfiguration> 

リクエスト要素

要素

データ型

必須

説明

RefererConfiguration

Container

必須

N/A

ホットリンク保護設定を格納するコンテナー。

子ノード: AllowEmptyReferer、AllowTruncateQueryString、およびRefererList

親ノード: なし

AllowEmptyReferer

Enumerated string

必須

false

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

  • true (デフォルト)

  • false

親ノード: RefererConfiguration

AllowTruncateQueryString

Enumerated string

任意

true

リファラーが一致したときにURLのクエリ文字列を切り捨てるかどうかを指定します。 有効な値:

  • true (デフォルト)

  • false

親ノード: RefererConfiguration

TruncatePath

Enumerated string

任意

true

リファラーが一致したときに、URL内のパスとパスに続く部分を切り捨てるかどうかを指定します。 有効な値:

  • true (デフォルト)

    重要

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

  • false

親ノード: RefererConfiguration

RefererList

Container

必須

N/A

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

説明

PutBucketReferer操作は、RefererListで指定されたRefererホワイトリストで既存のRefererホワイトリストを上書きします。 Referer要素が含まれないことを指定するRefererListがリクエストで指定されていない場合、PutBucketReferer操作は既存のRefererホワイトリストをクリアします。

親ノード: RefererConfiguration

子ノード: Referer

RefererBlacklist

Container

任意

N/A

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

説明

PutBucketReferer操作は、RefererBlacklistで指定されたRefererブラックリストで既存のRefererブラックリストを上書きします。 Referer要素が含まれないことを指定するRefererBlacklistがリクエストで指定されていない場合、PutBucketReferer操作は既存のRefererブラックリストをクリアします。

親ノード: RefererConfiguration

子ノード: Referer

リファラー

String

任意

http://www.aliyun.com

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

親ノード: RefererListまたはRefererBlacklist

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

レスポンスヘッダー

このリクエストには、共通のレスポンスヘッダーのみが含まれます。 詳細については、「共通HTTPヘッダー」をご参照ください。

リクエストの例

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

    PUT /?referer HTTP/1.1
    ホスト: BucketName.oss.example.com
    コンテンツ-長さ: 247
    日付: 5月4日金曜日2012 03:21:12 GMT
    権限付与: OSS qn6qrrqxo2oawuk53otf ****:KU5h8YMUC78M30dXqf3JxrTZH ****
    
    <?xml version="1.0" encoding="UTF-8"?>
    <RefererConfiguration>
      <AllowEmptyReferer>true</AllowEmptyReferer>
      <RefererList/>
    </RefererConfiguration> 
  • Refererホワイトリストのみを含むサンプルリクエスト

    PUT /?referer HTTP/1.1
    ホスト: BucketName.oss.example.com
    コンテンツ-長さ: 247
    日付: 5月4日金曜日2012 03:21:12 GMT
    権限付与: OSS qn6qrrqxo2oawuk53otf ****:KU5h8YMUC78M30dXqf3JxrTZ ****
    
    <?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>
        <リファラー> http:// www.*.com</リファラー>
        <リファラー> https:// www.?.aliyuncs.com</リファラー>
      </RefererList>
    </RefererConfiguration> 
  • RefererホワイトリストとRefererブラックリストを含むサンプルリクエスト

    PUT /?referer HTTP/1.1
    ホスト: BucketName.oss.example.com
    コンテンツ-長さ: ***
    日付: 5月4日金曜日2012 03:21:12 GMT
    権限付与: OSS qn6qrrqxo2oawuk53otf ****:KU5h8YMUC78M30dXqf3JxrTZ ****
    
    <?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>
        <リファラー> http:// www.*.com</リファラー>
        <リファラー> https:// www.?.aliyuncs.com</リファラー>
      </RefererList>
      <RefererBlacklist>
        <Referer>http://www.refuse.com</Referer>
        <リファラー> https:// * .hack.com</リファラー>
        <リファラー> http:// ban.*.com</リファラー>
        <リファラー> https:// www.?.deny.com</リファラー>
      </RefererBlacklist>
    </RefererConfiguration> 

レスポンスの例

HTTP/1.1 200 OK
x-oss-request-id: 534B371674E88A4D8906 ****
日付: 5月4日金曜日2012 03:21:12 GMT
コンテンツ長: 0
接続: キープアライブ
サーバー: AliyunOSS
x-oss-server-time: 110 

OSS SDK

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

エラーコード

エラーコード

HTTPステータスコード

説明

AccessDenied

403

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

InvalidDigest

400

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

InlineDataTooLarge

400

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