10 Cara Mengamankan WordPress dengan .htaccess

WordPress Security

Melindungi blog WordPress bisa dilakukan dengan mudah menggunakan file .htaccess. Berikut adalah beberapa cara mengamankan blog WordPress kita dari berbagai macam serangan.

Sekedar informasi, buat yang belum tahu cara membuat htaccess, file .htaccess bisa dibuat dengan file teks kosong bernama htaccess.txt kemudian di-rename menjadi .htaccess setelah di-upload ke web server.

Membatasi akses WP-Admin pada IP adress tertentu

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Access Control"
AuthType Basic
order deny,allow
deny from all
# IP address anda
allow from xx.xxx.xxx.xx

Ganti xx.xxx.xxx.xx di atas ↑ dengan alamat IP anda (beberapa IP address juga bisa ditambahkan).

IP Blacklist

Tambahkan baris-baris berikut untuk mencegah alamat IP tertentu mengakses blog anda.

<Limit GET POST PUT>
order allow,deny
allow from all
deny from xxx.xxx.xxx
</LIMIT>

HotLinking

HotLinking berguna untuk mencegah website lain mengambil source file tertentu (misalnya gambar) untuk dipasang di website mereka (pencurian bandwidth)

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain.com/.*$      [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?fyourdomain.com$      [NC]
RewriteRule .*\.(gif|jpg|png)$ http://www.yourdomain.com/stealingisbad.gif [R,NC]

Tips: Pengaturan hotlinking juga bisa langsung dilakukan melalui menu HotLink Protection pada cPanel.

Melindungi WP-Config.php

Melindungi file wp-config.php yang berisi informasi nama database, username database, dan password database anda ↓

# protect wpconfig.php
<files wp-config.php>
order allow,deny
deny from all
</files>

Directory browsing

Tambahkan baris berikut untuk mencegah seseorang melihat isi semua direktori langsung melalui browser ↓

# disable directory browsing
Options All -Indexes

Melindungi WP-Login.php

Baris berikut cuma buat anda penakut yang tidak mengijinkan siapapun yang mencoba login dengan mengakses wp-login.php :D

<Files wp-login.php>
Order deny,allow
Deny from All
Allow from xxx.xxx.xxx.x
</Files>

Alamat IP di atas adalah satu-satunya alamat IP yang diijinkan mengakses wp-login.php

Melindungi WP-Comment-Post.php dari spam

Walaupun ada Akismet, tapi mungkin perlu juga kita melindungi blog kita dari serangan spambot yang mencoba mengirim komentar spam langsung melalui wp-comment-post.php tanpa mengakses blog kita

RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

Ganti yourblog.com dengan alamat blog kita

Mencegah spammer

Mencegah spammer yang menggunakan alamat IP tertentu bisa dilakukan dengan mudah dengan .htaccess

<Limit GET POST>
order allow,deny
deny from xxx.xx.xxx.xxx
allow from all
</Limit>

Melindungi RSS

RSS feed bisa dilindungi dari ulah pencuri konten (scraper) yang mencoba mencuri artikel kita dengan memanfaatkan RSS feed blog kita

RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^xx.xx.xxx.xx
RewriteRule ^(.*)$ http://newfeedurl.com/feed

Alamat IP di atas adalah alamat IP yang digunakan scraper (bisa dicari di Google), sedangkan alamat feed di atas digunakan sebagai alamat tujuan pengalihan dari alamat feed blog kita.

Melindungi file .htaccess

Setelah blog kita terlindungi dari serangan htaccess, maka file .htaccess itu sendiri juga perlu kita amankan dari serangan. Kode berikut ini ditambahkan pada file .htaccess untuk mengamankan file dengan awalan .hta

# STRONG HTACCESS PROTECTION
<Files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</Files>

Instant Internet Business Ideas

Related Posts ↓

Rahasia Sukses Paid Review

{52 Comments so far }

  1. Aldrix said,

    Wrote on June 19, 2009 @ 3:53 pm

    wah pertamaxx dulu nih . .

    wah sayang ya mas cuman buat wp,,klo blogspot ??

  2. Fikri Rasyid @ Bloggingly said,

    Wrote on June 20, 2009 @ 4:39 am

    Wah, tips n trik yang canggih abis fan. Melakukan berbagai pencegahan hanya dengan merubah .hteccess saja. keren :)

    Ngomong2, ini ngelmunya dari mana ini? Penasaran deh :D

  3. fanari said,

    Wrote on June 20, 2009 @ 6:23 am

    @Aldrix: htaccess cuma bisa dipakai buat blog yang dihosting sendiri
    @Fikri Rasyid @ Bloggingly: dari banyak sumber fik, AskApache, CatsWhoCode, Matt Cutts, dan lainnya :D

  4. audy said,

    Wrote on June 21, 2009 @ 1:02 pm

    waaaah thank u banget ni maas….penting d…gi perlu masalah spam, masalah akses…hehehe, thank u yaah..btw, matanya gimana mas? kata dokter harus dikasih antibiotiknya loh….cepet sembuh yaah…

  5. fanari said,

    Wrote on June 21, 2009 @ 4:59 pm

    @audy: udah agak mendingan mbak, walaupun masih ada bercak darahnya. yang jadi masalah, ini perdarahan kok lama banget yah ilangnya, udah 2 minggu lebih padahal juga udah minum obat pembeku darah. oke deh mbak makasi sarannya, biar saya coba obat mata antibiotiknya

  6. Akmal Online said,

    Wrote on June 22, 2009 @ 12:04 pm

    Hehehe..
    Iya yah..
    Mirip2 sdikit..
    Izin copy gambarnya yah..

  7. lagi usil said,

    Wrote on June 22, 2009 @ 1:26 pm

    wah keren n canggih abis nih postingannya. langsung dibookmark, nanti diterapkan di blog, thanks mas dah disharing :)

  8. st_hart said,

    Wrote on June 22, 2009 @ 1:28 pm

    bagus mas postingannya, informative banget. mbok kapan2 bikin postingan seperti ini tapi yg untuk joomla hehehe…

  9. AeArc said,

    Wrote on June 22, 2009 @ 1:46 pm

    sayangnya aku make blogspot.. :) )

  10. ganda said,

    Wrote on June 22, 2009 @ 2:06 pm

    WTH? I can’t comment at your blog bro

  11. ganda said,

    Wrote on June 22, 2009 @ 2:09 pm

    WTH? I can’t comment it from IE8 and success from Safari. Do you already applied this security protection to your blog? Even we were reading single post, every time we want to comment, it will bring us to wp-comment-post.php first, and redirected again to original post we were reading. How can be like this?

  12. AlvienRizki said,

    Wrote on June 22, 2009 @ 2:46 pm

    weh weh weh… lengkap banget neh!!! sip sip…

  13. Reza Fauzi said,

    Wrote on June 22, 2009 @ 3:40 pm

    kerennn banget.. :D
    jadi mau coba pake wordpress deh

  14. Lampung Camp said,

    Wrote on June 22, 2009 @ 5:28 pm

    wah kalo buat batesin IP ADRESS belum bisa pak, soalnya IPNYA dinamis :) terus sering pindah-pindah warnet hehehehehehehe…..

  15. fanari said,

    Wrote on June 22, 2009 @ 8:19 pm

    @ganda: sori bang kayanya itu gara-gara saya pakai plugin WP-SpamFree menggantikan Akismet. terima kasih infonya, dari kemaren saya ragu abis pakai plguin itu soalnya ada beberapa pengguna yang punya masalah sama

  16. kinta mahadji said,

    Wrote on June 22, 2009 @ 8:45 pm

    Artikelnya bagus sekali mas, thanks for info, oh ya tentang yang WP 2.8.1 saya masih ragu juga untuk update, mas sendiri gimana ? sudah update ke versi betanya ?

  17. Dinda Watson said,

    Wrote on June 22, 2009 @ 10:05 pm

    Kalo cara menambahkan beberapa IP address gimana?

  18. ganda said,

    Wrote on June 23, 2009 @ 10:44 am

    Oh… begitu toh.. :D … Sebaiknya juga file2 vital yang lain di proteksi bro. :D Thanx buat artikel nya bro, akan saya aplikasikan security ini. :D

  19. ganda said,

    Wrote on June 23, 2009 @ 10:46 am

    1 lagi bro. Ketika saya comment, menampilkan halaman 404 error dimana halaman yang di buka adalah wp-comment-post.php

  20. fanari said,

    Wrote on June 23, 2009 @ 12:33 pm

    @kinta mahadji: sudah bro, alasan saya upgrade ke versi beta karena versi 2.8 selalu crash setiap buka halaman settings sehingga banyak file core dump memakan space hosting saya.
    @Dinda Watson: tambahkan allow from [ip.address.anda]
    @ganda: kadang2 begitu mas, saya juga masih cari tahu masalahnya.

  21. kodil said,

    Wrote on June 24, 2009 @ 8:42 am

    wah..mantap x postingan…bisa di coba entar…tq ya mas atas ilmunya

  22. Paman Gober said,

    Wrote on June 24, 2009 @ 9:35 pm

    Infonya sangat berguna sekali banget mas, izin di simpan dulu di kompi tipsnya :)

  23. Juliawan said,

    Wrote on June 26, 2009 @ 12:13 am

    wah canggih coi heheheh itu kayak plugin gt ya heheheh salam kenal ya :) and salam kenal semuanya :)

  24. Ardy Pratama said,

    Wrote on June 26, 2009 @ 7:53 am

    waw, kmplit bgt nih… thx bgt infonya soal .htaccess

  25. ardi said,

    Wrote on June 28, 2009 @ 4:06 am

    Allow from xxx.xxx.xxx.x
    atau
    Deny from xxx.xxx.xxx.x

    Kalo sering ganti-ganti komputer atau pake ipshared bisa berbahaya tuh. Masih ragu kalo mengamankan dari sisi itu… CMIIW

  26. fanari said,

    Wrote on June 28, 2009 @ 8:15 am

    @ardi: satu lagi, cara tersebut gak bisa dipakai buat pengguna dengan IP dinamis cmiiw

  27. ganda said,

    Wrote on July 1, 2009 @ 9:29 am

    @fanari : bukan cuma itu sih. Kadang2 saya juga mengalami hal yang serupa. Misalkan saya mempublish postingan, kadang2 error 404 itu muncul. Dan terpaksa saya refresh lagi. Mungkin di sebabkan hosting kah? Atau ada kesalahan pembacaan regular expression untuk url rewriting itu?

  28. Dinda Watson said,

    Wrote on July 9, 2009 @ 12:00 pm

    Bingung… tulisannya gimana untuk membatasinya??
    allow from xx.xxx.xxx.xx, xx.xxx.xxx.xx, xx.xxx.xxx.xx
    pakai koma atau gimana??

  29. fanari said,

    Wrote on July 9, 2009 @ 5:33 pm

    @Dinda Watson:

    allow from [ip.address.1]
    allow from [ip.address.2]
    allow from [ip.address.3]
    

    ..dan seterusnya

  30. yaufani adam said,

    Wrote on July 13, 2009 @ 2:13 pm

    kalo ip aderes spammer nya lebih dr satu cara nulisnya gimana mas?
    makaish ya

  31. fanari said,

    Wrote on July 15, 2009 @ 5:33 pm

    @yaufani adam: tambahkan beberapa list deny from seperti pada komentar saya di atas

  32. aditya permana said,

    Wrote on July 19, 2009 @ 8:50 pm

    wah..dapat ilmu bermanfaat nih. gag rugi tadi blogwalking..haha

  33. Mas Dhani said,

    Wrote on September 12, 2009 @ 10:20 pm

    info menarik.

  34. novalda said,

    Wrote on October 2, 2009 @ 2:40 pm

    Mas.Fanari..

    kalo maksudnya,
    cara-cara tsb (htaccess) tidak bisa digunakan,
    di komputer yg menggunankan “Ip dinamis”,

    itu maksudnya ditujukan kepada para pemakai komputer,
    yang lokasi internetnya di warnet dan di kantor yah?

    Thx bgt sebelumnya.

  35. fanari said,

    Wrote on October 2, 2009 @ 5:19 pm

    @novalda: maksudnya IP yang berganti-ganti setiap kali connect ke internet, yang diberikan oleh masing2 provider (biasanya koneksi yang menggunakan ADSL, dial-up, koneksi lewat HP, dan Speedy).

  36. munawar am said,

    Wrote on October 13, 2009 @ 9:49 pm

    saya mendapatkan penjelasan yang sangat komplit dari artikel di atas;
    saya coba utak-atik menyesuaikan beberapa kalimat yang harus diganti;
    terima kasih atas sharingnya.

  37. Lho Wong Kok said,

    Wrote on November 12, 2009 @ 8:43 pm

    Salam kenal dulu dech Mas Fandy,..

    Dari sekian banyak referensi htaccess, masih belum juga menemukan cara melindungi satu buah file dalam tema berektensi css.

    Gimana ya ?

  38. fanari said,

    Wrote on November 12, 2009 @ 9:24 pm

    @Lho Wong Kok: maksudnya biar CSS-nya tidak ditiru begitu? Sejauh pengetahuan saya tidak bisa mas, karena bagaimanapun browser harus bisa membaca source code.

  39. Lho Wong Kok said,

    Wrote on November 14, 2009 @ 9:22 pm

    He-em..

    Artinya, cuma bisa menulis sebuah pesan pendek, mengharap sebuah pengakuan sebuah karya seperti dirimu dan yang lain.
    Pusing ?!?.

    Kalau gitu dipecah-pecah saja dech. Sekalian update engine yang terlalu amat sangat pendek jedanya.

  40. Fauzie said,

    Wrote on December 10, 2009 @ 10:41 pm

    ga sengaja ketemu blog ini…

    tutorialnya keren2…

  41. mediajogja.com said,

    Wrote on December 26, 2009 @ 1:51 am

    bujung busettt..bener bener keren mas… makasih banyakk.. sedot dulu ah…

  42. willy said,

    Wrote on January 7, 2010 @ 7:08 pm

    tinggal dimasukkin aja khan tuh kode ke .htaccess
    ntar aku cobaiin yahh

  43. 20+ Tips Lengkap Optimasi WordPress said,

    Wrote on January 18, 2010 @ 3:06 pm

    [...] Informasi lain mengenai pemanfaatan HTAccess bisa dibaca di 10 Cara Mengamankan WordPress dengan .htaccess [...]

  44. dery said,

    Wrote on February 5, 2010 @ 1:04 pm

    bermanfaat nih,,
    sayang, indosatm2 make ip dinamis..

  45. Mengamankan WordPress | Ddery [dot] com said,

    Wrote on February 6, 2010 @ 11:21 am

    [...] rismaka.net fanari-id.com Blogging, Technology, Tips and Trick, [...]

  46. mbah bejo said,

    Wrote on February 23, 2010 @ 4:38 am

    wah thanks Y artikelY

    coba dulu
    do’akan berhasil bos

  47. Dhar said,

    Wrote on March 21, 2010 @ 2:39 pm

    mantab banget

  48. a'ak budi said,

    Wrote on April 3, 2010 @ 6:10 am

    infonya sangat menarik.. langsung aku coba aja deh,,, tak lupa juga ijin menyimpan file nya.

  49. 10 cara mengamankan wordpress dengan .htaccess said,

    Wrote on April 3, 2010 @ 8:10 am

    [...] # STRONG HTACCESS PROTECTION <Files ~ "^.*.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </Files> Source This Post : fanari-id.com [...]

  50. jasa webdesign said,

    Wrote on April 15, 2010 @ 3:23 am

    terima kasih infonya …..

  51. changcut rangers said,

    Wrote on June 15, 2010 @ 12:39 am

    saya masi bingung ni itu file langsung dijadikan satu tah, terus diupload dimana yah. . tolong bantu dong balas di email yah. . makasi

  52. Ardiawan.com said,

    Wrote on July 6, 2010 @ 7:57 am

    mas, kan di file .htaccess udah kode :

    # BEGIN WordPress

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

    # END WordPress

    terus kalo saya melindungi WP-Comment-Post.php dari spam, kodenya tinggal saya tambahkan di bawahnya #END WordPress ya?

    tolong dibales ya.. makasih..

Comment RSS · TrackBack URI

Leave a Comment ↓

Name

E-mail

Website