Mencegah hotlink konten pada Nginx
Bayangkan saja anda upload gambar dan ternyata ada yang langsung menyisipkannya website atau forum lainnya. Bukan masalah tidak diijinkan atau tidak etis, tapi efek yang terasa kalau konten tersebut malah lebih ramai dibuka di tempat lain adalah konsumsi bandwidthnya. Ini istilahnya ada hotlink dan bisa merugikan kita karena besar bandwidth dari hosting maupun VPS itu dibatasi pastinya.
Dulu saya pernah membahasnya untuk Apache dan sekarang adalah gilirannya Nginx. Karena salah satu klien saya butuh dan sekalian saja saya tuliskan tutorialnya. Hehe. 😀
Langkah pertama adalah mengedit konfigurasi Nginx dan kemudian tambahkan kode berikut:
location ~ \.(jpe?g|png|gif)$ {
valid_referers none blocked nama_domain_saya.com *.nama_domain_saya.com;
if ($invalid_referer) {
return 403;
}
}
Fungsi kode diatas adalah bahwa setiap konten (disini saya fokusnya pada gambar/foto) dengan ekstensi jpg
, jpeg
, png
dan gif
akan diblokir kalau diakses (referer header) bukan dari situs yang diijinkan.
Jangan lupa reload/restart Nginx setelahnya. 🙂