Mengenal .htaccess
Bagi developer website terutama yang menggunakan bahasa PHP atau server  Apache, ilmu tentang .htaccess merupakan salah satu hal yang penting.  Hanya dengan menguasai .htaccess ini saja, Anda bisa melakukan berbagai  kustomisasi alur website sesuka Anda. Tentu saja tidak terlepas dari  kemampuan Anda memanfaatkan kode PHP yang Anda gunakan.
Tentang .htaccess
File .htaccess (selanjutnya akan disebut htaccess saja) sendiri  sebenarnya hanyalah sebuah file teks dalam format ASCII. Tujuan awalnya,  dalam server Apache, file ini akan dibaca pertama kali sebelum request  diproses ke file yang dikehendaki. Htaccess juga dapat digunakan untuk  meng-override konfigurasi server untuk mengaktifkan ataupun  menonaktifkan fitur-fitur dan berbagai fungsi lainnya.
Bahkan, htaccess akan dapat mengarahkan file mana yang akan diakses  meskipun request-nya berbeda. Contoh sederhananya, htaccess dapat  mengarahkan request ke file 404.html bila alamat yang di-request oleh  user tidak tersedia. Htaccess juga dapat digunakan untuk memperkuat  keamanan server web Anda.
Sebagai contoh, Anda dapat mengatur HTTP Password melalui htaccess  ini, sehingga pengguna yang mengakses web Anda harus memasukkan username  dan password. Anda juga dapat mengatur apakah suatu alamat website Anda  hanya dapat diakses dari alamat IP (Internet Protocol) tertentu.  Misalnya, untuk halaman admin hanya dapat diakses oleh komputer dengan  IP lokal kantor Anda.
Lokasi .htaccess
Htaccess dapat dengan mudah diletakkan dalam folder web Anda, dan  bersifat rekursif. Artinya, bila Anda meletakkan htaccess di folder  paling atas (root) web Anda, maka perintah yang ada di file tersebut  akan berdampak ke semua sub-folder di dalamnya. Sedangkan bila Anda  meletakkan htaccess di dalam sub-folder, maka perintah di dalamnya akan  meng-override perintah yang ada di folder induknya.
Dengan demikian, sebagai contoh bila Anda ingin menonaktifkan mode  akses list folder secara global, Anda bisa meletakkan file htaccess di  root web. Kemudian bila Anda ingin memperbolehkan salah satu folder saja  bisa memungkinkan diakses untuk mendapatkan daftar isinya, maka cukup  meletakkan htaccess di dalamnya dengan perintah yang berbeda.
Semisal alamat website Anda adalah mimicreative.net, kemudian Anda  meletakkan htaccess di root folder, maka tentu saja akan berdampak ke  folder di dalamnya seperti mimicreative.net/about,  mimicreative.net/about/contact, dan sebagainya. Sedangkan bila Anda  meletakkan htaccess di dalam folder mimicreative.net/about/contact (yang  paling dalam), maka bila pengguna mengaksesnya, server akan menggunakan  perintah htaccess di folder itu, bukan yang ada di root web.
Perintah .htaccess
Htaccess memiliki banyak perintah yang bisa digunakan. Dalam artikel  ini akan dibahas sebagian perintah yang umum digunakan dalam konfigurasi  website pada Apache Server. Untuk mencobanya, yang perlu Anda lakukan  adalah menginstall Apache Server di komputer Anda. Untuk lebih mudahnya,  Anda bisa menggunakan XAMPP yang bisa didownload di http://www.apachefriends.org/en/xampp.html sesuai sistem operasi yang Anda gunakan.
XAMPP dapat diinstal baik di sistem operasi Windows maupun Linux.  Contoh dalam artikel ini menggunakan XAMPP pada sistem operasi Windows  7. Namun bila Anda menggunakan Linux, ataupun bila mengupload file web  dengan htaccess ke web server, sebaiknya atur permission file menjadi  644.
Perlu Anda ketahui, htaccess merupakan file yang diawali dengan  titik. Pada Linux, file dengan nama yang diawali titik dianggap sebagai  hidden file, yang artinya secara default tidak akan ditampilkan.  Sedangkan pada Windows, htaccess akan dianggap sebagai file biasa yang  tidak disembunyikan. Karena itulah sebenarnya Apache server sebaiknya  dijalankan pada Linux.
Setiap perintah dalam htaccess dipisahkan dalam baris yang berbeda.  Karena itu berhati-hatilah bila Anda menggunakan text editor yang  menyediakan fitur word-wrap, sebab memungkinkan terjadi kesalahan dalam  pergantian baris kode. Untuk memberikan komentar, Anda harus mengawali  setiap baris komentar dengan karakter sharp “#”.
Error DocumentPerintah pertama yang cukup bermanfaat adalah mengalihkan request bila terjadi error. Namun sebelum itu, Anda harus mengerti kode respon yang dihasilkan oleh server pada proses request. Anda bisa melihat daftar kode respon yang disediakan Apache Server pada tabel Response Code yang tersedia.
Anda tidak perlu mendefinisikan untuk seluruh response code, dan memang tidak seharusnya semua didefinisikan dalam htaccess. Sebagai contoh, perintah ErrorDocument untuk kode 200 justru akan menghasilkan infinite loop. Setidaknya, Anda mungkin perlu menuliskan perintah ErrorDocument untuk kode 404 dan 500.
Biasanya, tampilan error 404 hanya akan menampilkan pesan teks dengan latar belakang putih polos seperti pada gambar. Namun bila Anda ingin mengubahnya menjadi lebih menarik, Anda bisa mengarahkan response setiap terjadi error 404 ke suatu halaman html lain. Demikian juga bila terjadi error 500 atau kode lainnya.
Syntax kode htaccess yang bisa digunakan adalah sebagai berikut.
ErrorDocument 400 /mimi-errors/badrequest.html ErrorDocument 401 /mimi-errors/authreq.html ErrorDocument 403 /mimi-errors/forbidden.html ErrorDocument 404 /mimi-errors/notfound.html ErrorDocument 500 http://mimicreative.net/mimi-errors/server.html
Dengan membuat halaman error sendiri, tampilan web Anda ketika error pun masih tetap elegan, tidak polos seperti pada umumnya. Anda juga bisa mengarahkan ErrorDocument ke URL statis seperti pada baris terakhir di atas. Bahkan, Anda juga bisa menulis kode HTML pada file htaccess-nya seperti berikut.
ErrorDocument 400 /mimi-errors/badrequest.html ErrorDocument 401 "<body bgcolor="#ffffff">Anda harus terdaftar sebagai member untuk mengakses halaman ini</body>"Perhatikan bahwa pesan diawali tanda petik (“), namun tidak perlu diakhiri dengan tanda petik pula. Selain itu, seluruh pesan harus tetap diletakkan dalam satu baris saja. Dengan cara demikian, Anda bisa membuat halaman error lebih menarik seperti gambar.
Dengan htaccess, Anda dapat membuat pengaturan untuk blokir akses alamat web Anda berdasarkan IP pengunjung. Cara inilah yang digunakan website untuk mencegah pengunjung dari negara tertentu, ataupun meningkatkan keamanan bila terdeteksi banyak percobaan pembobolan dari suatu alamat IP tertentu.Memblok Berdasarkan IP
Contoh syntax kode htaccess yang bisa digunakan adalah sebagai berikut.
ErrorDocument 400 /mimi-errors/badrequest.html Order allow, deny Deny from 192.168.0.13 Deny from 222.123. Deny from 1.2.1.2 4.3.4.3 127.0.0.1 Deny from .facebook.com Allow from all
Pada contoh di atas, ada beberapa cara yang bisa Anda gunakan. Sebelum itu, Anda harus mengerti apa maksud dari baris pertama “Order allow, deny”. Baris tersebut mengatur urutan evaluasi hak akses. Kata “allow” di awal menyatakan bahwa daftar yang dilihat terlebih dahulu adalah alamat yang diperbolehkan, kemudian baru mengecek daftar alamat yang tidak diperbolehkan.
Ada beberapa cara untuk memblokir IP. Cara pertama ada pada baris kedua, yaitu menuliskan alamat IP secara lengkap. Cara kedua adalah dengan menuliskan bagian depan saja. Seperti pada baris ketiga, maka alamat “222.123.1.1” maupun alamat “222.123.14.23” akan diblokir. Anda juga bisa menuliskan beberapa alamat IP dalam satu baris, yang dipisahkan spasi ataupun tab. Selain itu, untuk memudahkan pula Anda bisa mencegah berdasarkan nama domain.
Secara default, server Apache menggunakan aturan “Order deny, allow”, yang berarti secara default seluruh request diperbolehkan, namun yang pertama dilihat dari daftar alamat adalah bagian pemblokiran. Sehingga, bila Anda menuliskan lagi kode di atas, bisa disederhanakan sebagai berikut.
ErrorDocument 400 /mimi-errors/badrequest.html Deny from 192.168.0.13 Deny from 222.123. Deny from 1.2.1.2 4.3.4.3 127.0.0.1 Deny from .facebook.com
Memblok Akses berdasarkan referal
Selain berdasarkan IP, Anda juga bisa memblok akses berdasarkan  referral-nya. Yang dimaksud dengan referral adalah alamat sebelumnya  yang membawa request ke alamat Anda, atau sederhananya dari alamat mana  request itu berasal. Sebagai contoh, bila kita menuju alamat http://mimicreative.net dengan cara mengklik link yang ada di http://haqqi.net, maka alamat kedua itulah yang menjadi referralnya.
Biasanya teknik ini digunakan untuk mencegah situs lain menggunakan  resource file di tempat Anda (semisal CSS atau gambar), sehingga traffic  data server Anda membengkak meski bukan murni dari website Anda. Untuk  mengaktifkan perintah ini, server Apache Anda harus mengaktifkan  terlebih dahulu modul “mod_rewrite”. Pada XAMPP, secara default modul  ini sudah aktif. Namun pada web server yang disewakan secara umum, Anda  perlu mencari tahu terlebih dahulu.
Contoh penulisan perintah blokir berdasarkan referral adalah sebagai berikut.
Contoh penulisan perintah blokir berdasarkan referral adalah sebagai berikut.
ErrorDocument 400 /mimi-errors/badrequest.html
RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} mimicreative\.net [NC]
RewriteRule .* - [F]
Perintah di atas akan memblokir segala request yang referralnya adalah mimicreative.net. Perhatikan bahwa penggunaan titik diawali dengan backslash. Setelah itu, terdapat tulisan “[NC]” yang artinya Non-CaseSensitive yang menyebabkan server tidak menghiraukan perbedaan huruf kapital atau tidak.  Untuk memblokir langsung dari beberapa alamat, Anda bisa menggunakan kode berikut.
ErrorDocument 400 /mimi-errors/badrequest.html
RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} mimicreative\.net [NC,OR]
RewriteCond %{HTTP_REFERER} haqqi\.net
RewriteRule .* - [F]
ang perlu Anda perhatikan bahwa di setiap baris aturan yang berisi alamat terblokir, selain baris terakhir harus diikuti dengan “[NC, OR]”. Selain itu, pada baris kedua Anda bisa melihat ada baris yang menggunakan komentar “#”. Hilangkan tanda komentar tersebut bila server Anda menghasilkan error 500 karena konfigurasi FollowSymLinks tidak diaktifkan.  Request yang diblok berdasarkan referral ini akan menampilkan pesan error 403. Anda bisa mengkustomisasi tampilan error tersebut bila telah mendefinisikan file yang mengatur ErrorDocument sebelumnya.
RePost From :
http://bisakomputer.com/mengenal-htaccess-bagian-1/
PenutupArtikel ini adalah bagian pertama dari trik menggunakan htaccess yang dibuat oleh penulis. Pada artikel berikutnya, akan ada lagi beberapa trik memanfaatkan file htaccess untuk berbagai fungsi di server Apache Anda. Selamat mencoba!
RePost From :
http://bisakomputer.com/mengenal-htaccess-bagian-1/
 




 
  
 
 
 
 

 
Post a Comment