A. Dasar Teori
Apache Web server memiliki beragam opsi konfigurasi bagi administrator.
Masalahnya,
pada saat anda hosting, anda tidak memiki akses pada konfigurasi apache.
Akibatnya anda
tidak dapat melakukan perubahan setting dan terpaksa menggunakan
konfigurasi default.
Salah satu alternative yang dapat dilakukan untuk melakukan overriding
konfigurasi default
adalah dengan melakukan setting lewat file .htacces.
File .htaccess berupa file ascii yang ditempatkan pada direktori www atau
subdirektori
www. Anda dapat membuat file ini lewat editor teks seperti notepad dan
diupload dalam
bentuk ASCII (bukan BINARY) di direktori mana yang anda ingin
memodifikasi setting.
Selain itu, hak akses file diset sebagai 644 (rw-r--r--). Fungsinya
adalah memungkinkan
server mengakses file, namun mencegah pengunjung untuk mengakses file
lewat browser
mereka karena alas an keamanan.
Perintah pada file .htaccess akan mempengaruhi semua direktori dan
subdirektori
dimana file tersebut diletakkan. Jika anda meletakkannya di sub direktori
dari direktori
www, maka file htaccess akan mempengaruhi direktori www dan semua
direktori
dibawahnya. Yang perlu diperhatikan adalah semua perintah pada file
.htacess bersifat case
sensitive dan didesain untuk diletakkan pada satu baris.
Beberapa fitur file .htaccess
1. Untuk memberikan pesan error
Jika anda ingin melakukan overriding pesan error dari server, anda dapat
menggunakan
.htaccess untuk mng-kustomisasi pesan error yang baru. Contoh
konfigurasinya :
ErrorDocument 500 /error.html
Override SSI Settings
2. Melakukan overriding setting
SSI
Secara default, hanya halaman web yang memiliki ekstensi .shtml yang akan
melakukan
parsing server-side includes (SSI). Anda dapat melakukan overriding
konfigurasi default
ini agar SSI dapat bekerja dengan file .html dan .htm dengan menambahkan
baris ini
pada .htaccess. Contoh:
AddType text/html .html
AddHandler server-parsed .html
AddHandler server-parsed .htm
3. Mengganti file index.* pada
homepage
Anda bisa mengganti halaman pertama web page anda yang biasanya berawal
dengan
index.html, index.cgi, index.shtml, dan lainnya dengan namafileku.html.
Perhatikan
bahwa, biasanya file pertama yang digunakan semua memiliki awal index.*.
Selain itu
juga, secara default, server akan mendisplay file index.* berdasarkan
prioritasnya.
Artinya file index.cgi memiliki keutamaan untuk ditampilkan disbanding
index.html.
Misalkan anda ingin mengganti file index.* dengan nama file:
filebaru.html, tambahkan
baris berikut pada file .htaccess :
DirectoryIndex hieronymous.html
Jika server tidak menemukan file dengan nama filebaru.html, server akan
mengeluarkan
halaman pesan error: 404 Missing Page. Untuk mengubah prioritas file yang
ditampilkan, anda dapat melakukan hal dibawah, dimana orde prioritas
ditentukan dari
yang sebelah kiri (paling tinggi) hingga paling kanan (terendah).
DirectoryIndex hieronymous.html index.cgi index.php index.html
4. Memungkinkan browsing direktori
Karena alasan sekuritas, user dilarang untuk melihat isi direktori atau
disebut fasilitas
directory indexing. Dengan menggunakan file .htaccess, anda dapat
mengijinkan user
untuk melihat index direktori web page anda. Contoh, misalnya anda
memanggil
http://www.domainku.com/gambar/, maka web server akan melisting semua
file pada
direktori /gambar, tanpa perlu membuat file html dengan linknya. Tinggal
tambahkan
baris ini pada file .htaccess untuk melakukan indexing directory.
Options +Indexes
5. Mengeblok user untuk mengakses
web site
Jika anda ingin mencegah akses website pada user tertentu, asalkan anda
tahu IP address
atau domain name yang digunakan oleh user tersebut, anda dapat
menggunakan file
.htaccess untuk mengeblok user tersebut dari mengakses website anda.
<Limit GET>
order deny,allow
deny from 10.252.44.210
deny from 10.252.32.
deny from .domainku.com
allow from all
</Limit>
Pada contoh diatas, user dari nomor IP 10.252.44.210 akan di blok. Semua
user
d ari network 10.252.32.000 s.d 10.252.32.255 akan diblok. Semua user
dari
domain domainku.com akan diblok. Ketika mereka mencoba mengakses website
anda, mereka akan menerima pesan error 403 Forbidden ("You do not
have permission
to access this site")
6. Redireksi pengunjung ke halaman
web baru atau direktori
Bila anda mengubah seluruh isi web site anda, memberikan nama baru bagi
halaman dan
direktori. Pengunjung pada halaman web lama akan menerima kode error 404,
File Not
Found. Anda dapat mengatasi masalah ini dengan melakukan redireksi
panggilan ke
halaman lama ke halaman baru. Contoh: jika halaman web lama anda adalah
../lama.html dan anda ingin menggantinya dengan baru.html pada website
yang lain,
maka anda dapat menambahkan baris ini pada file .htaccess
Redirect permanent /lama.html http://www.domainbaru.com/baru.html
Dengan penambahan ini, pengunjung yang mengakses website lama pada
halaman
lama.html akan dikirim menuju website baru pada halaman baru.html. Selain
redireksi
file, anda juga bisa melakukan redireksi untuk seluruh isi direktori.
Contoh: bila anda
hendah meredireksi pengunjung pada seluruh directory website lama ke
direktori
website baru. Tambahkan baris ini pada htaccess.
Redirect permanent /direktori-lama
http://www.domainbaru.com/direktori-baru/
Ada beberapa tipe redireksi :
• permanent – halaman web dipindah secara permanen (kode status: 301)
• temp – halaman web dipindah secara temporer (kode status: 302)
• seeother - halaman web diganti (kode status : 303)
• gone - halaman web telah dihapus secara permanen (kode status : 410)
7. Mencegah hot linking dan
bandwidth leeching
Hotlinking adalah tindakan mencuri image dan bandwith dengan melink-an
image file
yang dimiliki oleh suatu web server dengan web server lain secara ilegal.
Hal ini dapat
dicegah dengan menambahkan baris dibawah pada file .htaccess
Dengan cara ini, image anda hanya akan terdisplay ketika pengunjung
benar-benar
mengunjungi site anda. Semua image yang dilinking dengan domain lain akan
nampak
sebagai broken image.
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domainku.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ - [F]
Anda bahkan bisa menambahkan image lain sebgai ganti pada halaman yg
terlink—
dengan image yang menyindir pencurian gambar tersebut. Tambahkan baris
ini untuk
melakukan hal tersebut :
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domainku.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ http://www.domainku.com/curi.gif [R,L]
8. Mencegah pengunjung melihat
file.htaccess atau file lain
Untuk mencegah pengunjung untuk melihat isi dari file .htaccess,
tambahkan baris ini pada
file .htaccess
<Files .htaccess>
order allow,deny
deny from all
</Files>
B. Tugas Pendahuluan
1. Sebutkan fungsi file htaccess ? Apa hak akses .htaccess? Dimana file
htaccess disimpan?
-
Fungsi File .htaccess
1.
Kustomisasi Error Message
2.
Overide SSL settings
3.
Merubah default Homepage
4.
Enable directory browsing
5.
Mem-block user yang akan mengakses website
6.
Meredirect / mengarahkan pengunjung website ke
halaman lain
7.
Mencegah Hot linking dan bandwith leeching
-
Hak akses .htaccess mengubah setting default
dari Apache, melakukan modif terhadaf settingan default dari server, mengubah
konfigurasi dari subdirektori-subdirektori yang ada di dalam direktori root
-
File .htaccess disimpan di di direktori root. File ini diharuskan
dalam format ASCII bukan format binary dan untuk file permission (atribut file)
pada server hosting harus diset 644 (rw-r-r). Hal ini bertujuan agar server
dapat mengakses file .htaccess, tapi mencegah user untuk mengakses file
.htaccess dari beowser mereka.
2. Apa keuntungan dan kerugian menggunakan file .htaccess ?
- Kelebihan
1.
Tidak perlu mengubah script dan susunan
direktori kita, kita langsung bisa menggunakannya hanya dengan menambahkan
sebuah file .htaccess pada direktori utama website kita
2.
Security yang menjamin
3.
Struktur address yang mudah diterima oleh google
- Kekurangan
1.
Semua linknya harus berupa absolute link, baik
itu untuk image maupun file eksternalnya
2.
Tidaksemua server mengaktifkan settingan ini,
atau anda bisa menghubungi server yang anda gunakan agar mereka dapat
mengaktifkannya, tetapi andaharus menjelaskan tujuan anda agar mereka
mempercayai anda.
3. Apa yang disebut hot linking
dan bandwidth leeching. Bagaimana mencegah hot linking dan bandwith leeching ?
Hotlinking atau biasa disebut juga
“hot linking“, “leeching“, “bandwidth theft” alias pencurian bandwidth. Cara
mencuri bandwidth yang dimaksud kali ini adalah dengan menggunakan gambar/media
yang ada di situs/blog lain secara langsung. Contoh kasus paling mudah adalah
ketika tulisan anda di copy paste oleh orang lain dan dalam artikel itu
terdapat gambar/image. Karena pelaku copy paste mengcopy dari source artikel
maka dia akan mengcopy seluruh isi artikel beserta letak image/gambar yang
terdapat dalam artikel tersebut.
Untuk menghindari pencurian
bandwidth melalui image atau hostlinking caranya cukup mudah, anda tinggal
menambahkan beberapa baris pada file .htaccess. Berikut ini cara untuk
menghindari pencurian bandwidth, Buka file .htacsess, kemudian tambahkan
barisan kode berikut, kemudian save.
RewriteEngine On
RewriteCond %{HTTP_REFERER}
!^http://(.+.)?ogameslucky.com/ [NC]
RewriteRule.*.(jpe?g|gif|bmp|png)$
http://img576.imageshack.us/img576/2169/copypaste.png [L]
Keterangan:
-
Baris kedua ganti ogameslucky dengan domain
anda.
-
Baris ke 3 adalah lokasi image yang saya gunakan
untuk mengganti image yang ada di hosting saya, jadi jika ada yang menggunakan
metode hotlinking maka gambar yang muncul adalah gambar yang saya upload ke
lokasi file diatas.
4. Bagaimana mencegah user dg nomor IP tertentu mengakses homepage?
Anda dapat memantau semua alamat IP
yang masuk ke situs Anda melalui Lastest Visitors yang ada di bagian Logs dari
cPanel. Apabila ada alamat IP tertentu yang Anda curigai telah melakukan aktifitas
yang tidak diinginkan, Anda dapat mencegah pengunjung dengan alamat IP tersebut
untuk melakukan kunjungan berikutnya ke situs Anda. Larangan untuk mengakses
situs Anda dapat dilakukan melalui dua opsi yaitu .htaccess dan IP Deny
Manager.
Pada file .htaccess menggunakan
kode berikut :
Order Deny,Allow
allow from all
deny from 111.222.111.000
Maksud baris di atas adalah semua
alamat IP akan diperbolehkan mengakses website kita kecuali alamat IP
111.222.111.000
5. Bagaimana caranya melakukan redireksi ?
Misalkan aplikasi kita sajikan di
http://rendefu.com . Maka di file konfigurasi virtualhost subdomain www nya,
kita tulis:
<VirtualHost *:80>
ServerName
www.rendefu.com
Redirect permanent / http://rendefu.com/
</VirtualHost>
C. Percobaan
C1. Virtual
Hosting dan Redireksi Pengunjung Ke Halaman Web Baru
4.
Buat direktori untuk 2 halaman tersebut (kel3
dan kel3baru)
nano /var/www/kel3/index.html
nano /var/www/kel3baru/index.html
7.
Enable kan 2 site yang baru saja kita buat
dengan perintah a2ensite /etc/apache2/sites-available/www.kel3.com dan a2ensite
/etc/apache2/sites-available/www.kel3baru.com
8.
Edit file /etc/hosts untuk melakukan resolusi
domain www.kel3.com dan www.kel3baru.com ke 127.0.0.1. Sehingga
menjadi
9.
Buat file .htaccess yang pertama dengan cara
nano /var/www/kel3/.htaccess
10.
Lalu Buat file .htaccess yang pertama dengan
cara nano /var/www/kel3baru/.htaccess
11.
Lalu restart apache
C2.
Penggunaan file .htaccess untuk mengeblok IP tertentu
1.
Buka file .htaccess di /var/www/kel3/.htaccess
dan tambahkan allow dan deny seperti gambar di bawah ini
0 comments