Proteksi Hotlink Dengan .htaccess

Pada Friday, 28 January, 2011 Jam 4:21 Di Tulis Oleh Istanto Adi Nugroho
Artikel dalam kategori dodol, Iseng, Pribadi, Tutorial

BACA ARTIKEL INI DALAM FORMAT AMP Proteksi Hotlink Dengan .htaccess

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

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 http://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} !^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]

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:

Kamu boleh memberikan komentar, atau melakukan trackback dari blog kamu.
    Digg Del.icio.us StumbleUpon Reddit Twitter RSS

11 Komentar pada artikel “Proteksi Hotlink Dengan .htaccess”

  1. hadi-ph berkata:

    Pada February 7th, 2011 Jam 1:05 AM

    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

    [Balas]

  2. coepoe berkata:

    Pada February 18th, 2011 Jam 4:09 PM

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

    [Balas]



    Istanto Adi Nugroho berkata:
    Pada February 18th, 2011 jam 4:57 PM


    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.

    [Balas]


  3. eko susilo berkata:

    Pada August 14th, 2011 Jam 12:18 AM

    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]

    [Balas]



    Istanto Adi Nugroho berkata:
    Pada August 14th, 2011 jam 1:38 AM


    taruh saja dibawah, kode diatas gak berfungsi kalau gak ada RewriteEngine On sama RewriteBase, kalau default wordpress kan sudah ada ya tinggal tambahin saja.

    [Balas]


  4. eko susilo berkata:

    Pada August 15th, 2011 Jam 12:43 AM

    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 😀

    [Balas]



    Istanto Adi Nugroho berkata:
    Pada August 15th, 2011 jam 5:00 AM


    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]

    [Balas]


  5. eko susilo berkata:

    Pada August 15th, 2011 Jam 11:03 AM

    Ok mudeng pak, cuma yg saya praktekan utk image msh pke format jpg bukan jpe sprt yg di sarankan. Soalnya blm tw cara membuatnya 😀 > bs ksh tw cr’y?
    Trmksh pak Is

    [Balas]

  6. beritague berkata:

    Pada August 23rd, 2011 Jam 8:00 PM

    Salam kenal mas…
    Mas kira-kira mana yang bagus plugin Hotlink Protection
    dengan script di atas…?

    [Balas]

  7. Andi Firmansyah berkata:

    Pada February 12th, 2013 Jam 5:17 PM

    wah mas., tetap ga bisa ya., di copy ke web lain tetap aja muncul tu gambar, gimana ni., :m040

    [Balas]



    Istanto Adi Nugroho berkata:
    Pada February 13th, 2013 jam 3:54 AM


    bisa

    [Balas]


Berikan Komentar

[+] yoyocici emoticons Istanto Personal Blog