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/
Ever wanted to get free YouTube Views?
ReplyDeleteDid you know that you can get these ON AUTO-PILOT & TOTALLY FREE by registering on Add Me Fast?