Hati-hati mengaktifkan Fitur Cegah Hotlinking Tutor LMS
Pada sebuah server dengan addon domain yang terpasang plugin Tutor LMS dan beberapa website lainnya, terjadi masalah berupa error 403 saat mengakses file hasil upload lewat sistem web maupun langsung ke server. Error ini ditemukan saat beberapa kali mencoba membuka link gambar di tab baru, tetapi tidak dapat mengaksesnya melalui tautan langsung.
Setelah investigasi, diketahui bahwa fitur Cegah Hotlinking pada plugin Tutor LMS di domain utama menyebabkan dampak terhadap seluruh addon domain pada server tersebut.
Penyebab
Masalah ini berasal dari aturan yang ditambahkan oleh plugin Tutor LMS pada file .htaccess. Aturan tersebut bertujuan untuk memblokir akses ke file tertentu jika permintaan berasal dari referer (HTTP_REFERER) yang bukan domain utama. Namun, aturan tersebut diterapkan secara global sehingga memengaruhi semua addon domain, termasuk yang tidak menggunakan Tutor LMS. Fitur tersebut memang berfungsi sekali untuk mengamankan konten-konten kursus online yang dihosting di server langsung. Namun ternyata ada hal lain yang dipengaruhinya.
Berikut adalah contoh aturan yang dimaksud:
# BEGIN TUTOR_PREVENT_HOTLINKING
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?sekolahkan.com [NC]
RewriteRule \.(jpg|jpeg|png|gif|mp4|mov|mp3|avi|flv|wmv)$ - [NC,F,L]
</IfModule>
# END TUTOR_PREVENT_HOTLINKING
Pada aturan di atas:
Akses ke file dengan ekstensi tertentu seperti .jpg, .mp4, dan lainnya diblokir jika referer tidak berasal dari domain utama. Permintaan langsung tanpa referer (akses langsung melalui browser) juga ikut diblokir, yang memicu error 403.
Solusi Sementara
Untuk mengatasi masalah ini, fitur Cegah Hotlink pada Tutor LMS dinonaktifkan melalui sistem dalam plugin Tutor LMS tepatnya di bagian pengaturan. Hal ini dilakukan untuk memulihkan akses normal ke file yang terdampak pada seluruh addon domain. Setelah fitur tersebut dimatikan, akses file kembali normal tanpa error 403.
Solusi Jangka Panjang (Not Recommended)
Untuk mengatasi error 403 namun ingin tetap mengaktifkan fitur Cegah Hotlinking bisa dicoba memperbaiki aturan dalam file .htaccess agar hanya berlaku untuk domain utama dan tidak berdampak ke addon domain lainnya.
Menggunakan pengecualian untuk permintaan tanpa referer dengan menambahkan kondisi berikut:
RewriteCond %{HTTP_REFERER} !^$ [NC]
Kode tersebut memastikan bahwa akses langsung ke file tetap diperbolehkan.
Pelajaran yang Dapat Dipetik
Implementasi pencegahan hotlink harus dilakukan dengan hati-hati, terutama pada lingkungan yang memiliki beberapa addon domain atau subdomain. Terlebih jika ternyata pengaturann plugin mengubah aturan dalam file .htaccess. Jika diperbaiki langsung dari file .htaccess tersebut dikhawatirkan ada perubahan lagi di masa yang akan datang tanpa diketahui.
Sebelum mengaktifkan fitur pencegahan hotlink, lakukan pengujian menyeluruh untuk memastikan tidak ada dampak pada situs lain yang berbagi server yang sama.
Dokumentasikan setiap perubahan pada file .htaccess agar lebih mudah melacak sumber masalah ketika terjadi error.