Hotlinking merupakan salah satu masalah besar yang dihadapi oleh banyak developer dan pemilik website. Pada artikel kali ini saya akan mencoba membahas cara yang efektif untuk mengkonfigurasi image hotlinking protection untuk Nginx.
Apa Itu Hotlinking?
Hotlinking pada prakteknya menggunakan gambar yang ada di website kamu di website orang lain yang tidak kamu miliki. Bukan men-download gambar dari website kamu, dan meng-upload-nya ke website mereka, tetapi mereka hanya mengcopy link gambar dari website kamu dan menampilkannya di website mereka. Apa artinya bagi kamu?
Hal ini berarti dapat menyebabkan kerugian pada kamu, jika ada seseorang yang menggunakan gambar yang ada di website kamu tanpa ijin. Karena hal ini dapat menghabiskan bandwitdh dari server (hosting) kamu.
Jika website yang menggunakan link gambar kamu memiliki traffic yang lebih besar maka hal ini akan meningkatkan penggunaan bandwithd kamu yang sangat besar, dan kamu yang akan membayar hal tersebut. Apalagi jika kamu menggunakan layanan yang memiliki sistem pembayaran per GB penggunaan, yang akan membuat tagihan membengkak.
Selain itu pada sisi kinerja server, hal tersebut juga dapat menambah request yang sangat tidak dibutuhkan ke web server Nginx.
Untuk mencegah hal ini terjadi, kamu harus menerapkan image hotlink protection untuk Nginx.
Konfigurasi Nginx Anti Hotlink
Untuk mensetup hotlink image protection di Nginx cukup mudah. Untuk melindungi gambar yang ada di website kamu, kamu bisa menambahkan location block di bawah ke dalam file virtual host configuration Nginx:
location ~ .(gif|png|jpg|jpe?g)$ { valid_referers none blocked yourwebsite.com *.yourwebsite.com; if ($invalid_referer) { return 403; } }
Ganti “yourwebsite.com” dengan alamat website kamu,
Location block di atas hanya melindungi file GIF, PNG, JPG, JPE dan JPEG. Kamu juga bisa melindungi file CSS dan ICO dengan menambahkan ekstensinya di belakang JPEG.
location ~ .(gif|png|jpg|jpe?g|css|ico)$ { valid_referers none blocked yourwebsite.com *.yourwebsite.com; if ($invalid_referer) { return 403; } }
Perhatikan baris valid_referers, disini untuk menambahkan daftat alamat website yang dapat mengakses link file gambar dari website kamu, dan tentunya website kamu sendiri harus di whitelist. Kamu juga bisa menambahkan website-website kamu yang lainnya, atau juga kamu bisa menambahkan URL mesin pencari seperti Google dan Bing.
Setelam selesai menambahkan, untuk menerapkan perubahan ini kamu harus me-restart Nginx.
Jakartawebhosting.com menyediakan layanan Web Hosting, dengan kecepatan dan stabilitas pusat data dan server yang baik, up time server 99,9%, team support yang siap membantu 24 jam dan biaya langganan yang menarik.