全部产品
Search
文档中心

Object Storage Service:PutBucketReferer

更新时间:Jul 09, 2025

Mengonfigurasi daftar putih atau daftar hitam Referer untuk bucket Object Storage Service (OSS).

Izin

Secara default, akun Alibaba Cloud memiliki izin penuh. Pengguna RAM atau Peran RAM di bawah akun Alibaba Cloud tidak memiliki izin apa pun secara default. Izin operasi harus diberikan oleh akun Alibaba Cloud atau administrator melalui Kebijakan RAM atau Kebijakan Bucket.

API

Aksi

Definisi

PutBucketReferer

oss:PutBucketReferer

Mengonfigurasi perlindungan hotlink untuk bucket.

Sintaks permintaan

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>

Elemen permintaan

Elemen

Tipe

Diperlukan

Contoh

Deskripsi

RefererConfiguration

Wadah

Ya

N/A

Wadah yang menyimpan konfigurasi perlindungan hotlink.

Node anak: AllowEmptyReferer, AllowTruncateQueryString, dan RefererList

Node induk: tidak ada

AllowEmptyReferer

String terenumerasi

Ya

false

Menentukan apakah akan mengizinkan permintaan yang bidang Referernya kosong. Nilai valid:

  • true (default)

  • false

Node induk: RefererConfiguration

AllowTruncateQueryString

String terenumerasi

Tidak

true

Menentukan apakah akan memotong string kueri dalam URL ketika Referer cocok. Nilai valid:

  • true

  • false (default)

Node induk: RefererConfiguration

TruncatePath

String terenumerasi

Tidak

true

Menentukan apakah akan memotong jalur dan bagian setelah jalur dalam URL ketika Referer cocok. Nilai valid:

  • true

    Penting

    Jika TruncatePath disetel ke true, nilai dari AllowTruncateQueryString juga harus true karena string kueri mengikuti komponen jalur. Ketika jalur dipotong, string kueri juga dipotong.

  • false (default)

Node induk: RefererConfiguration

RefererList

Wadah

Ya

N/A

Wadah yang menyimpan daftar putih Referer.

Catatan

Operasi PutBucketReferer menimpa daftar putih Referer yang ada dengan daftar putih Referer yang ditentukan dalam RefererList. Jika RefererList tidak ditentukan dalam permintaan, yang menentukan bahwa tidak ada elemen Referer yang disertakan, operasi PutBucketReferer menghapus daftar putih Referer yang ada.

Node induk: RefererConfiguration

Node anak: Referer

RefererBlacklist

Wadah

Tidak

N/A

Wadah yang menyimpan daftar hitam Referer.

Catatan

Operasi PutBucketReferer menimpa daftar hitam Referer yang ada dengan daftar hitam Referer yang ditentukan dalam RefererBlacklist. Jika RefererBlacklist tidak ditentukan dalam permintaan, yang menentukan bahwa tidak ada elemen Referer yang disertakan, operasi PutBucketReferer menghapus daftar hitam Referer yang ada.

Node induk: RefererConfiguration

Node anak: Referer

Referer

String

Tidak

http://www.aliyun.com

Alamat dalam daftar putih atau daftar hitam Referer.

Node induk: RefererList atau RefererBlacklist

Untuk detail tentang header permintaan umum dalam operasi PutBucketReferer, seperti Host dan Date, lihat Header Permintaan Umum.

Header respons

Semua header dalam respons terhadap permintaan PutBucketReferer adalah header respons umum. Untuk informasi lebih lanjut, lihat Header Respons Umum.

Contoh

Permintaan Contoh

  • Permintaan contoh tanpa daftar putih Referer atau daftar hitam Referer

    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>                            
  • Permintaan contoh yang hanya berisi daftar putih Referer

    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>                            
  • Permintaan contoh yang berisi daftar putih Referer dan daftar hitam Referer

    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>

Respons Contoh

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

SDK OSS

Anda dapat menggunakan SDK OSS untuk bahasa pemrograman berikut guna memanggil operasi PutBucketReferer:

ossutil

Untuk informasi tentang perintah ossutil yang sesuai dengan operasi PutBucketReferer, lihat put-bucket-referer.

Kode kesalahan

Kode kesalahan

Kode status HTTP

Deskripsi

AccessDenied

403

Anda tidak berwenang untuk melakukan operasi PutBucketReferer. Hanya pemilik bucket yang dapat memulai permintaan PutBucketReferer.

InvalidDigest

400

Nilai Content-MD5 dari badan pesan yang dihitung oleh OSS tidak konsisten dengan nilai Content-MD5 dalam header permintaan. Setelah header permintaan Content-MD5 diunggah, OSS menghitung hash MD5 berdasarkan badan pesan dan memeriksa apakah hash MD5 yang dihitung sama dengan nilai Content-MD5 yang ditentukan dalam header permintaan. Jika hash MD5 tidak konsisten, kode kesalahan ini dikembalikan.

InlineDataTooLarge

400

Daftar putih dan daftar hitam Referer melebihi batas atas 20 KB. Kurangi entri dalam daftar putih dan daftar hitam Referer.