Proteksi Hotlink Dengan .htaccess

Apa itu hotlink? hotlink adalah pengambilan gambar atau media lainnya yang  biasanya ditampilkan pada media kedua tetapi menggunakan bandwidth media pertama (dikenal dengan julukan bandwidth thief). Salah satu contoh mudahnya yaitu gambar pada blog ini saya tampilkan diforum lain. Hotlink seringkali dilakukan pada file berjenis gambar namun terkadang juga pada file berekstensi lain semisal .swf .flv dan lain sebagainya.

Hotlink ini sangat dibenci oleh orang luar karena di anggap seperti mencuri. Apa yang sebenarnya dicuri? selain konten (keaslian), alasan lain adalah bandwidth yang dicuri. Terkadang juga hotlink digunakan sebagai alat sabotase oleh beberapa webmaster yang nakal demi persaingan. Saya pun sebenarnya netral dalam hal hotlink ini tetapi kalau hotlink sudah mulai mengganggu pasti saya tegur bahkan mungkin akan saya sabotase balik.

Kalau hosting kita memberikan fasilitas unlimited bandwidth masalah hotlink ini mungkin tidak terlalu terasa mengganggu (meskipun sebenarnya mengganggu kinerja CPU server). Masalah yang paling berat biasanya ada pada hosting yang memberlakukan kuota bandwidth. Hotlink ini sangat merugikan sekali seperti kasus pada saya kemarin dalam 2 x 24 jam saja akibat hotlink ini saya kehilangan kuota bandwidth sebesar kurang lebih 15GB.

Bagaimana cara paling efisien mengatasi hotlink? mungkin ada banyak cara, salah satu cara yang terbukti berhasil dan mudah di implementasikan adalah dengan menambahkan beberapa baris kode kedalam file .htacces cara ini sangat simple dan bisa mengatasi masalah hotlink dengan sempurna.

Apa itu file .htaccess? silahkan baca disini yah https://en.wikipedia.org/wiki/Htaccess. Kalau sudah selesai mari kita coba proteksi hotlink pada web-blog kita masing-masing. Yang perlu disiapkan:

  1. Sebuah gambar/pesan khusus yang ingin kita tampilkan pada halaman web yang melakukan hotlink.
  2. File .htaccess pada root folder sebuah web-blog, kalau belum ada silahkan buat sendiri.
  3. Notepad (text editor terbaik sepanjang masa).
  4. Buat cowok siapkan  juga kopi dan sebungkus rokok hehe…

Langkah pertama, Kita siapkan sebuah gambar atau pesan yang ingin kita tampilkan pada web yang melakukan hotlink. Bukan cuma gambar saja kita bahkan bisa membuat sebuah flash file berformat swf untuk melakukan replace pada bagian web-blog kita yang di larang hotlink.

Setelah gambar siap kita simpan dengan nama blabla.jpe (bukan JPEG atau JPG) karena pada file .htaccess kita akan memblokir hotlink  dengan format JPEG dan JPG.

Setelah gambar sudah siap kita segera saja edit file .htaccess (kalau yang belum punya buat saja sendiri) lalu tambahkan kode dibawah ini:

RewriteCond %{HTTP_REFERER} !^https://(.+\.)?NAMAWEB\.EKSTENSI/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !google\. [NC]
RewriteCond %{HTTP_REFERER} !images.google\. [NC]
RewriteCond %{HTTP_REFERER} !search\?q=cache [NC]
RewriteCond %{HTTP_REFERER} !msn\. [NC]
RewriteCond %{HTTP_REFERER} !yahoo\. [NC]
RewriteCond %{HTTP_REFERER} !bing\. [NC]
RewriteCond %{HTTP_REFERER} !baidu\. [NC]
RewriteCond %{HTTP_REFERER} !mywebsearch\. [NC]
RewriteCond %{HTTP_REFERER} !dogpile\. [NC]
RewriteCond %{HTTP_REFERER} !avantfind\. [NC]
RewriteCond %{HTTP_REFERER} !ask\. [NC]
RewriteCond %{HTTP_REFERER} !soso\. [NC]
RewriteCond %{HTTP_REFERER} !lycos\. [NC]
RewriteRule .*\.(jpe?g|gif|bmp|png|jpg)$ /images/blabla.jpe [L]

Namaweb silahkan ganti dengan nama website sendiri, misalnya istanto. Ekstensi adalah ekstensi domain misalnya .com .net .biz .org dan lainnya. jpe?g|gif|bmp|png|jpg adalah ektensi yang akan kita proteksi dari hotlink, bagaimana bila saya ingin memproteksi file dengan format lain? silahhkan tambahkan saja misalnya swf flv dan lainnya. images/blabla.jpe adalah path file yang akan kita gantikan(replace) apabila ada web-blog lain yang melakukan hotlink pada format file yang sudah kita tentukan.

Kode diatas akan memperbolehkan web-blog kita sendiri untuk menampilkan file tersebut, jika di hotlink oleh situs selain situs kita maka akan tampil pesan sesuai dengan yang telah kita buat. Kode diatas termasuk level advanced karena akan melakukan proteksi hotlink pada situs lain kecuali situs kita sendiri tapi juga memperbolehkan beberapa robot/crawler untuk melakukan hotlink pada file tersebut, cara ini digunakan untuk mengatasi masalah SEO score yang mungkin bisa drop setelah melakukan proteksi hotlink dengan cara pemula.

Bagaimana hasilnya? SANGAT SEMPURNA 😀

Sekian, salam GoBlog!

Kata Kunci Terkait:

11 thoughts on “Proteksi Hotlink Dengan .htaccess”

  1. Oya untuk default wordpress klo ga salah ky gini ya :

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    > Berarti jika di tmbahkan code dr pk Is jadi sprti di bwh ini?

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    RewriteCond %{HTTP_REFERER} !^http://(.+\.)?NAMAWEB\.EKSTENSI/ [NC]
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !google\. [NC]
    RewriteCond %{HTTP_REFERER} !images.google\. [NC]
    RewriteCond %{HTTP_REFERER} !search\?q=cache [NC]
    RewriteCond %{HTTP_REFERER} !msn\. [NC]
    RewriteCond %{HTTP_REFERER} !yahoo\. [NC]
    RewriteCond %{HTTP_REFERER} !bing\. [NC]
    RewriteCond %{HTTP_REFERER} !baidu\. [NC]
    RewriteCond %{HTTP_REFERER} !mywebsearch\. [NC]
    RewriteCond %{HTTP_REFERER} !dogpile\. [NC]
    RewriteCond %{HTTP_REFERER} !avantfind\. [NC]
    RewriteCond %{HTTP_REFERER} !ask\. [NC]
    RewriteCond %{HTTP_REFERER} !soso\. [NC]
    RewriteCond %{HTTP_REFERER} !lycos\. [NC]
    RewriteRule .*\.(jpe?g|gif|bmp|png|jpg)$ /images/blabla.jpe [L]

    > Maaf pak bnyk tanya, tlg pencerahanya lg ya pak > sy akan kembali kesini lg 😀

    Reply
    • contohnya kayak dibawah, search engine yang diperbolehkan buat crawl bisa ditambah sendiri.

      RewriteEngine On
      RewriteBase /
      RewriteRule ^index\.php$ – [L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]

      RewriteCond %{HTTP_REFERER} !^http://(.+\.)?istanto\.net/ [NC]
      RewriteCond %{HTTP_REFERER} !^$
      RewriteCond %{HTTP_REFERER} !google\. [NC]
      RewriteCond %{HTTP_REFERER} !images.google\. [NC]
      RewriteCond %{HTTP_REFERER} !search\?q=cache [NC]
      RewriteCond %{HTTP_REFERER} !msn\. [NC]
      RewriteCond %{HTTP_REFERER} !yahoo\. [NC]
      RewriteCond %{HTTP_REFERER} !bing\. [NC]
      RewriteCond %{HTTP_REFERER} !baidu\. [NC]
      RewriteCond %{HTTP_REFERER} !mywebsearch\. [NC]
      RewriteCond %{HTTP_REFERER} !dogpile\. [NC]
      RewriteCond %{HTTP_REFERER} !avantfind\. [NC]
      RewriteCond %{HTTP_REFERER} !ask\. [NC]
      RewriteCond %{HTTP_REFERER} !soso\. [NC]
      RewriteCond %{HTTP_REFERER} !lycos\. [NC]
      RewriteRule .*\.(jpe?g|gif|bmp|png|jpg)$ /images/nohotlink.jpe [L]

      Reply
  2. Sepertinya artikel ini sangat penting gan, tp saya blm paham (blm lm sy pindah pke wp).

    File .htaccess yg sprti dibwh ini ya? > terus kode2 di atas yag pk is di taruh dmn ya? (maaf nubitol bgt).

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    Reply
  3. mau tanya gan, untuk mengetahui kalo web kita sedang dicuri gmn gan?
    jika tidak menyiapkan gambar/pesan gmn, apakah tidak apa2?

    Reply
    • biasanya kalau dicuri bandwith naik drastis tapi pengunjung rendah, langsung saja kalikan per-kb halaman kali pageviews nanti kelihatan hasilnya kalau total bandwith tinggi diatas 100% sudah pasti dicuri konten nya.

      Reply
  4. ini setelah sekian kali saya komen di blog anda bos dan bener sangat menarik. parahnya saya sudah terlanjur melakukan watermarking yang faktanya boros di waktu. bener2 payah ya

    Reply

Leave a Comment

[+] yoyocici emoticons Istanto Personal Blog

This site uses Akismet to reduce spam. Learn how your comment data is processed.