Daftar hitam atau putih Referer adalah metode kontrol akses berdasarkan header Referer. Fitur ini melindungi sumber daya Anda dari akses tidak sah. Setelah dikonfigurasi, Alibaba Cloud CDN mengizinkan atau menolak permintaan berdasarkan header Referer.
Penting Secara default, fitur ini tidak diaktifkan di Alibaba Cloud CDN. Ini berarti semua situs web dapat mengakses sumber daya Anda.
Daftar hitam atau putih Referer adalah cara untuk mencegah penyalahgunaan transmisi data.
Setelah Anda menambahkan nama domain ke daftar hitam atau putih Referer, nama domain wildcard yang sesuai dengan nama domain tersebut akan secara otomatis ditambahkan ke daftar yang sama. Sebagai contoh, jika Anda menambahkan aliyundoc.com ke daftar hitam atau putih Referer, aturan tersebut juga berlaku untuk semua nama domain yang cocok dengan *.aliyundoc.com.
Struktur Referer
Header Referer adalah komponen dalam permintaan HTTP yang berisi informasi tentang alamat sumber dan digunakan untuk mengidentifikasi sumber permintaan. Header ini terdiri dari skema, domain, jalur, dan parameter. Gambar berikut menggambarkan struktur header Referer.
Catatan Protokol dan nama domain diperlukan, sedangkan jalur dan parameter kueri opsional.
Alibaba Cloud memungkinkan Anda hanya menentukan nama domain sebagai Referer dengan memilih Ignore Scheme.
Skenario
Daftar hitam atau putih Referer cocok untuk skenario berikut:
Perlindungan hak cipta: Untuk melindungi konten berhak cipta di situs web Anda, Anda dapat menggunakan daftar hitam atau putih Referer untuk hanya mengizinkan situs web yang berwenang mengakses konten tersebut.
Perlindungan hotlink: Daftar putih atau hitam Referer mencegah sumber daya Anda digunakan oleh situs web lain.
Peningkatan keamanan situs web: Hanya nama domain dalam daftar putih Referer yang diizinkan mengakses sumber daya situs web Anda. Ini mencegah hotlink jahat atau pencurian informasi sensitif.
Pengelolaan sumber trafik: Anda dapat mengelola domain yang berwenang menggunakan sumber daya Anda. Ini memastikan keamanan dan stabilitas situs web Anda.
Anda dapat menggunakan fitur ini dalam berbagai skenario untuk melindungi aset situs web, mengelola trafik, dan meningkatkan keamanan situs web.
Cara kerjanya
Server memeriksa bidang Referer setiap permintaan dan menolak permintaan jika bidang Referer tidak sesuai dengan daftar putih yang telah dikonfigurasi sebelumnya. Ini membantu menghemat bandwidth dan sumber daya server. Aturan Referer di Alibaba Cloud CDN:
Jika header Referer dalam permintaan termasuk dalam daftar hitam Referer atau tidak termasuk dalam daftar putih Referer, Alibaba Cloud CDN menolak permintaan tersebut.
Jika header Referer dalam permintaan termasuk dalam daftar putih Referer, Alibaba Cloud CDN mengizinkan permintaan tersebut.
Catatan penggunaan
Setelah mengonfigurasi daftar hitam atau putih Referer, permintaan dari klien dalam daftar hitam Referer masih dapat mencapai titik kehadiran (POPs). Namun, POPs akan menolak permintaan tersebut dan mengembalikan kode status HTTP 403. Permintaan ini dicatat dalam log Alibaba Cloud CDN.
Anda akan dikenakan biaya untuk transfer data yang dihasilkan ketika POPs memblokir permintaan dari klien dalam daftar hitam dan permintaan HTTPS jika klien meminta sumber daya melalui HTTPS.
Penyalahgunaan transmisi data berasal dari akses Internet. Oleh karena itu, aturan daftar hitam atau putih Referer hanya berlaku untuk nama domain publik.
Prosedur
Masuk ke Alibaba Cloud CDN.
Di panel navigasi kiri, klik Domain Names.
Pada halaman Domain Names, temukan nama domain yang ingin Anda kelola dan klik Manage di kolom Actions.
Di pohon navigasi kiri nama domain, klik Access Control.
Pada tab Referer Black/Whitelist, klik Modify.
Konfigurasikan parameter yang tercantum dalam tabel berikut berdasarkan kebutuhan bisnis Anda.
Klik OK.
Parameter daftar hitam atau putih Referer
Parameter | Deskripsi |
Type | Blacklist Permintaan yang bidang Referernya ada dalam daftar hitam Referer tidak dapat mengakses sumber daya. Whitelist Hanya permintaan yang bidang Referernya ada dalam daftar putih Referer yang dapat mengakses sumber daya.
Catatan Daftar putih dan daftar hitam saling eksklusif. Anda hanya dapat mengonfigurasi salah satu dari kedua daftar tersebut. |
Rules | Anda dapat menambahkan beberapa nama domain ke daftar hitam atau putih Referer. Pisahkan nama domain dengan karakter carriage return. Anda dapat menggunakan tanda bintang (*) sebagai wildcard untuk mencocokkan semua nama domain. Sebagai contoh, *.example.com mencocokkan semua subdomain dari example.com. Anda juga dapat menghilangkan tanda bintang (*) untuk mencocokkan domain dan semua subdomainnya. Sebagai contoh, example.com mencocokkan example.com dan *.example.com.
|
Redirect URL | Jika permintaan diblokir, kode status HTTP 302 dan header Lokasi dikembalikan. Parameter ini adalah nilai dari header Lokasi. Nilainya harus dimulai dengan http:// atau https://, seperti http://www.example.com. |
Advanced Settings | Allow resource URL access from browsers | Secara default, kotak centang tidak dipilih. Jika Anda memilih kotak centang ini, permintaan yang berisi header Referer kosong diizinkan mengakses sumber daya CDN, terlepas dari apakah Anda mengonfigurasi daftar hitam atau putih Referer. Header Referer kosong dapat menunjukkan salah satu skenario berikut: |
Exact Match | Secara default, kotak centang tidak dipilih. Setelah Anda memilih kotak centang ini, Anda tidak dapat menghilangkan tanda bintang (*) untuk pencocokan. Jika tanda bintang (*) tidak digunakan, example.com hanya cocok dengan example.com. |
Ignore Scheme | Jika Anda tidak memilih Ignore Scheme, nilai header Referer harus dimulai dengan http:// atau https://. Jika Anda memilih Ignore Scheme, nilai header Referer tidak perlu dimulai dengan http:// atau https://.
|
Rule Condition | Kondisi aturan dapat mengidentifikasi parameter dalam permintaan untuk menentukan apakah konfigurasi berlaku untuk permintaan tersebut. |
Verifikasi header Referer
Perintah curl digunakan untuk memverifikasi header Referer. -e diikuti oleh nilai header Referer, dan -I diikuti oleh nama domain yang dipercepat. Informasi header dikembalikan. Dalam contoh ini, daftar putih digunakan.
Skenario 1: Konfigurasikan hanya aturan daftar hitam atau putih Referer rule
Catatan Dalam skenario ini, hanya aturan aliyun.com yang dikonfigurasi. Parameter URL Pengalihan, Pengaturan Lanjutan, dan Kondisi Aturan tidak dikonfigurasi.
Permintaan yang header Referernya berisi http(s)://aliyun.com atau subdomainnya dicocokkan. Permintaan yang header Referernya tidak ada dalam daftar putih ditolak.
Jalankan perintah berikut untuk memverifikasi permintaan yang header Referernya berisi domain root: curl -e http://aliyun.com -I NamaDomain

Jalankan perintah berikut untuk memverifikasi permintaan yang header Referernya berisi subdomain: curl -e http://sub.aliyun.com -I NamaDomain

Jalankan perintah berikut untuk memverifikasi permintaan yang header Referernya berisi domain lain: curl -e http://aIiyun.com -I NamaDomain

Jalankan perintah berikut untuk memverifikasi permintaan yang header Referernya kosong: curl -e " " -I NamaDomain

Jalankan perintah berikut untuk memverifikasi header Referer yang hanya berisi domain yang dikonfigurasi: curl -e aliyun.com -I NamaDomain

Skenario 2: Konfigurasikan aturan daftar hitam atau putih Referer rule dan pilih Allow resource URL access from browsers
Catatan Dalam skenario ini, aturan aliyun.com dikonfigurasi dan Izinkan akses URL sumber daya dari bilah alamat browser dipilih. Opsi lain di Pengaturan Lanjutan tidak dipilih. Parameter URL Pengalihan dan Kondisi Aturan tidak dikonfigurasi.
Dibandingkan dengan skenario 1, permintaan yang header Referernya kosong dicocokkan. Dengan cara ini, permintaan yang header Referernya kosong dan permintaan akses langsung diizinkan.
Jalankan perintah berikut untuk memverifikasi permintaan yang header Referernya kosong: curl -I NamaDomain

Jalankan perintah berikut untuk memverifikasi permintaan yang header Referernya berisi " ": curl -e " " -I NamaDomain

Skenario 3: Konfigurasikan aturan daftar hitam atau putih Referer rule dan pilih Ignore Scheme
Catatan Dalam skenario ini, aturan aliyun.com dikonfigurasi dan Abaikan Skema dipilih. Opsi lain di Pengaturan Lanjutan tidak dipilih. Parameter URL Pengalihan dan Kondisi Aturan tidak dikonfigurasi.
Dibandingkan dengan skenario 1, permintaan yang header Referernya tidak berisi protokol, seperti aliyun.com, diizinkan.
Jalankan perintah berikut untuk memverifikasi permintaan yang header Referernya tidak berisi protokol: curl -e aliyun.com -I NamaDomain

Tanya Jawab
Mengapa string HTTP atau HTTPS kadang-kadang hilang dalam header Referer dalam permintaan?
Dalam kebanyakan kasus, string HTTP atau HTTPS disertakan dalam header Referer dalam permintaan.
Namun, dalam beberapa kasus, ketika browser menavigasi permintaan dari situs web yang tidak menggunakan HTTPS ke situs web yang menggunakan HTTPS, browser mungkin hanya menyajikan nama domain dalam header Referer. Ini dilakukan untuk melindungi data pengguna sensitif berdasarkan kebijakan keamanan seperti Referrer-Policy.
Selain itu, beberapa browser atau server proxy mungkin secara otomatis menghapus string Referer dalam skenario tertentu, seperti akses dalam mode penjelajahan pribadi atau dengan menggunakan proxy anonim.
Oleh karena itu, dalam praktiknya, perhatikan skenario di mana HTTP atau HTTPS tidak disertakan dalam header Referer saat Anda mengonfigurasi fitur ini. Jika Anda ingin mengizinkan permintaan yang header Referernya tidak menyertakan HTTP atau HTTPS, pilih Ignore Scheme.
Mengapa header Referer kosong dalam permintaan? Apa yang harus saya lakukan untuk menyelesaikan masalah ini?
Dalam kebanyakan kasus, header Referer dalam permintaan berisi URI lengkap, termasuk protokol seperti http atau https, nama host, dan mungkin jalur serta string kueri. Header Referer dalam permintaan mungkin kosong karena alasan berikut:
Akses langsung: Jika pengguna memasukkan URL di bilah alamat browser, menggunakan bookmark, atau membuka tab browser baru, header Referer kosong karena halaman referensi tidak ada.
Pengaturan privasi pengguna: Pengguna mengonfigurasi mode penjelajahan pribadi atau menggunakan ekstensi privasi untuk menghapus header Referer karena kekhawatiran privasi.
Protokol keamanan: Jika permintaan dialihkan dari halaman HTTPS ke halaman HTTP, browser tidak menyajikan header Referer untuk mencegah kebocoran informasi sensitif.
Kebijakan klien: Untuk tujuan keamanan, beberapa situs web atau aplikasi mungkin membatasi browser mengirim header Referer dengan menentukan tag <meta> atau header HTTP, seperti Referrer-Policy.
Permintaan lintas asal: Permintaan lintas asal tertentu mungkin tidak menyertakan header Referer berdasarkan kebijakan keamanan browser.
Langkah-langkah penanganan bervariasi tergantung pada skenario dan persyaratan keamanan:
Kebijakan default: Jika layanan Anda tidak bergantung pada header Referer, Anda dapat mengizinkan permintaan yang memiliki header Referer kosong.
Mengizinkan akses: Untuk URL atau sumber tertentu, Anda dapat memilih Allow resource URL access from browsers untuk hanya mengizinkan permintaan dari URL atau sumber tersebut. Dengan cara ini, POPs mengizinkan pengguna mengakses sumber daya Anda terlepas dari apakah header Referer kosong.