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:
Node induk: RefererConfiguration |
AllowTruncateQueryString | String terenumerasi | Tidak | true | Menentukan apakah akan memotong string kueri dalam URL ketika Referer cocok. Nilai valid:
Node induk: RefererConfiguration |
TruncatePath | String terenumerasi | Tidak | true | Menentukan apakah akan memotong jalur dan bagian setelah jalur dalam URL ketika Referer cocok. Nilai valid:
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: 110SDK 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. |