Ada bagian yang kelihatannya sepele tapi banyak kegunaannya untuk keberlangsungan website Anda. Yaitu sebuah file yang bernama .htaccess.
File .htaccess adalah sebuah file teks ASCII sederhana. Anda bisa membuat atau mengedit file ini di Text Editor (Notepad) dan kemudian mengunggahnya ke direktori yang ingin anda setting.
Perintah-perintah di dalam file .htaccess mempengaruhi direktori tempatnya berada dan semua subdirektorinya. Bila anda meletakkan file .htaccess di public_html, maka hal tersebut akan mempengaruhi semua website anda.
1. Mengarahkan akses namadomain tanpa www ke www
PERHATIAN: Bila Anda sudah memiliki file .htaccess dengan konfigurasi yang lain maka Anda cukup masukkan baris ke-2 dan ke-3 di bawah bagian RewriteEngine on
Options +FollowSymlinksRewriteEngine onrewritecond %{http_host} ^domainanda.com [nc]rewriterule ^(.*)$ http://www.domainanda.com/$1 [r=301,nc]
2. Mencegah orang lain melihat htaccess dan file lainnya
order allow,denydeny from all
Jika anda mau mencegah pengaksesan file lain, ganti nama file .htaccess dengan nama file yang lain.
3. Mengubah Pesan Error
Jika anda ingin mengubah halaman error server, anda bisa menggunakan .htaccess untuk mendefinisikan pesan error anda sendiri. Contoh syntax ini adalah:
Isi error.html dengan halaman yang berisikan ERROR.ErrorDocument 500 /error.html
4. Blok IP tertentu atau pengunjung yang diarahkan dari web lain untuk mengakses web Anda
Jika anda ingin mem-blok access untuk beberapa individu dan anda mengetahui IP / domain name yang digunakan, tambahkan baris berikut :
Pada contoh di atas, user dengan IP 123.456.789.000 akan diblok. Semua user antara 456.78.90.000 sampai 456.78.90.999 akan diblok. Dan semua user yang terhubung dari koplak.com akan diblok. Jika mereka mencoba mengakses situs Anda, maka akan tampil error 403 Forbidden (“You do not have permission to access this site”).
order deny,allowdeny from 123.456.789.000deny from 456.78.90.deny from .koplak.comallow from all
5. Mengarahkan pengunjung ke halaman baru atau direktori baru
Misalnya bila halaman lama Anda adalah halamanlama.html dan halaman baru adalah halamanbaru.html, maka perintahnya adalah:
Redirect permanent /halamanlama.html http://www.domainanda.com/halamanbaru.htmlJika anda mengubah nama direktori, maka perintahnya adalah:
Perhatikan bahwa nama direktori yang lama ditulis dengan “relative path”, sementara yang baru ditulis dengan “URL absolut” (dengan tanda “/”;)Redirect permanent /direktorilama http://www.domainanda.com/domainbaru/
6. Mencegah “Hot Linking” dan “Bandwidth Leeching”
Untuk mencegah orang lain melink secara langsung ke direktori image atau file anda dari website mereka sehingga mencuri bandwidth Anda, maka gunakan:
Perintah tersebut akan membuat direktori image hanya bisa diakses bila user sedang mengakses www.domainanda.com
RewriteEngine onRewriteCond %{HTTP_REFERER} !^$RewriteCond %{HTTP_REFERER} !^http://(www\.)?domainanda.com/.*$ [NC]RewriteRule \.(gif|jpg|png)$ – [F]
Anda jugabisa membuat sebuah gambar bila direktori image Anda dilink. Contohnya image jangandicuri.gif yang bertuliskan: “Mencuri membuat Anda sakit … kunjungi http://domainanda.com untuk melihat gambar yang kami miliki”, maka gunakan perintah:
RewriteEngine onRewriteCond %{HTTP_REFERER} !^$RewriteCond %{HTTP_REFERER} !^http://(www\.)?domainanda.com/.*$ [NC]RewriteRule \.(gif|jpg|png)$ http://www.domainanda.com/jangandicuri.gif [R,L]
7. Melindungi WP-Comment-Post.php dari spam
Walaupun ada Akismet, tapi mungkin perlu juga Anda melindungi blog Anda dari serangan spambot yang mencoba mengirim komentar spam langsung melalui wp-comment-post.php tanpa mengakses blog kita.
8. Melindungi WP-Config.php
RewriteEngine OnRewriteCond %{REQUEST_METHOD} POSTRewriteCond %{REQUEST_URI} .wp-comments-post\.php*RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR]RewriteCond %{HTTP_USER_AGENT} ^$RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
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,denydeny from all</files>
9. Memblokir file berakhiran tertentu
File tertentu kadang berisi informasi sensitif seperti password, dll
yang perlu kita blokir dari pengunjung. Tentu saja alternatif lainnya
adalah jangan menaruh file itu di bawah Docroot :-)
<Files *.conf>
deny from all
</Files>
10.Memblokir browser (user agent) tertentu
Kadang-kadang ada sebuah bot atau penyerang tertentu yang dapat
diidentifikasi User-Agent-nya, dan dapat kita blokir. Untuk melihat
User-Agent pengakses, bisa melihat dari log mentah.
Misalnya kita ingin memblokir crawler Google dan Yahoo! (Slurp). Di .htaccess, tambahkan:
SetEnvIf User-Agent "(googlebot|Slurp)" crawlerdeny from env=crawler
'crawler' dapat diganti kata lain yang sesuai. Anda dapat menambahkan
baris-baris User-Agent berikutnya, atau menambahkan kata kunci di regex
User-Agent yang sama.
DirectoryIndex awal.html index.html index.php
Command di atas berguna untuk memberitahu pilihan nama file yang akan
dipilih oleh webserver Apache jika sebuah URL diakses tanpa akhiran
nama file (mis: http://tokoku.com/ atau http://tokoku.com/subdir/).
File yang pertama dibuka pada contoh di atas adalah awal.html, dan jika
tidak ada maka akan mencari index.html, dan seterusnya.
Jika semua tidak ada, barulah autoindex ditampilkan.
Silahkan buat .htaccess di direktori yang ingin diprotek. Kalau ingin memprotek dari http://SITENAME/ (dari halaman depan), maka taruh file .htaccess di /s/SITENAME/www/. Isi file ini sbb:
AuthName "sembarang nama, sebagai contoh: area terlarang!"(tentu saja SITENAME diganti dengan nama situs yang sebetulnya). Setelah itu, buatlah .htpasswd dari shell dengan perintah:
AuthType basic
AuthUserFile /s/SITENAME/www/.htpasswd
require valid-user
htpasswd -c /s/SITENAME/www/.htpasswd NAMAUSERWEBdi mana NAMAUSERWEB diganti yang sebenarnya, mis: snoopy. Lalu akan ditanya password. Lalu coba sekarang refresh http://SITENAME/ maka akan muncul kotak dialog password.
13.Menyembunyikan Isi Direktori
Jika ingin isi suatu direktori tidak ingin ditampilkan tambahkan baris di .htaccess
IndexIgnore *Jika ingin menyembunyikan file tertentu saja, misal header.html dan readme.html (pisahkan tiap nama file dengan spasi).
IndexIgnore header.html readme.html
0 komentar:
Posting Komentar