TUGAS PERTAMA ..
- Menjelaskan PHP dan CI
- .htaccess
PHP
(HyperText Markup Language)
HTML merupakan singkatan dari HyperText Markup
Language. HTML digunakan untuk membangun suatu halaman Web. Sekalipun
banyak orang menyebutnya sebagai suatu bahasa pemrograman, HTML sebenarnya sama
sekali bukan bahasa pemrograman, karena seperti tercermin dari namanya HTML
adalah suatu bahasa mark up. HTML digunakan untuk melakukan mark up (penandaan)
terhadap sebuah dokumen teks. Tanda tersebut digunakan untuk menentukan format
atau style dari teks yang ditandai.
CI
(Codeigniter)
Codeigniter merupakan salah satu dari sekian banyak
framework PHP yang ada. Codeigniter dikembangkan oleh Rick Ellis
(http://www.ellislab.com). Tujuan dari pembuatan framework CodeIgniter ini
menurut user manualnya adalah untuk menghasilkan framework yang akan dapat
digunakan untuk pengembangan proyek pembuatan website secara lebih cepat
dibandingkan dengan pembuatan website dengan cara koding secara manual, dengan
menyediakan banyak sekali pustaka yang dibutuhkan dalam pembuatan website,
dengan antarmuka yang sederhana dan struktur logika untuk mengakses pustaka
yang dibutuhkan. CodeIgniter membiarkan kita untuk memfokuskan diri pada
pembuatan website dengan meminimalkan pembuatan kode untuk berbagai tujuan
pembuatan website. CodeIgniter merupakan perangkat lunak yang bersifat gratis,
hal ini dikarenakan CodeIgniter mempunyai lisensi dibawah Apache/BSD-Style yang
bersifat open source.
Penggunaan Codeigniter
CodeIgniter direkomendasikan untuk pengguna yang sudah
mengerti mengenai php. Namun demikian, CodeIgniter bukan suatu perangkat lunak
yang direkomendasikan untuk orang yang :
1. Tidak
mempunyai sedikitpun pengetahuan tentang PHP dan HTML
2. Suka menulis
semua baris kode dari pemrograman yang dibuat.
3. Tidak
menyukai PHP
4. Yang
terakhir, pastinya CI bukan untuk pengguna yang tidak ingin menyelesaikan
proyek mereka tepat waktu
Codeigniter sendiri telah menjadi dasar dari berbagai
framework PHP lainnya untuk pengembangan engine yang mereka gunakan, terdapat
lebih dari 30 project open source lainnya yang didasari oleh codeigniter.
Terdapat juga ribuan situs yang telah menggunakan codeigniter, sebagian dari
daftar project maupun situs yang menggunakan codeigniter dapat dilihat di
alamat berikut http://codeigniter.com/wiki/Applications_Using_Code_Igniter/.
.htaccess
File .htaccess adalah file konfigurasi yang disediakan
oleh web server Apache, yang biasanya digunakan untuk mengubah settingan
default dari Apache. Kita ketahui bahwa sebagian besar hosting web di internet
menggunakan Apache sebagai servernya sehingga bagi para pengelola web /
webmaster sedikit banyak harus belajar tentang .htaccess agar kita bisa
mengubah settingan default dari server.
File .htaccess merupakan file teks ASCII sederhana
yang biasanya diletakkan dalam root direktori. File ini diharuskan dalam format
ASCII dan bukan binary dan untuk file permission (atribut file) pada server
hosting harus di set 644 (rw-r-r). Hal tersebut dimaksudkan agar server dapat
mengakses file .htaccess, tapi mencegah user untuk mengakses file .htaccess
dari browser mereka. File .htaccess yang diletakkan dalam root direktori dapat
digunakan untuk mengubah konfigurasi dari subdirektori-subdirektori yang ada
didalamnya, sehingga dalam satu website biasanya kita cukup untuk mempunyai 1
file .htaccess saja yang diletakkan dalam root direktori.
Kode perintah dalam file .htaccess harus ditempatkan
dalam satu baris, jadi apabila kita membuat file .htaccess dengan menggunakan
text editor seperti notepad maka kita harus mendisable fungsi word wrap
(memotong baris) terlebih dahulu.
Setelah tahu apa itu file .htaccess, selanjutnya...
Kegunaan File .Htaccess
sebagai :
Customize Error Message
artinya kita dapat mengubah halaman error pada server,
dengan mendefinisikan sesuai dengan keinginan kita sendiri.
ErrorDocument 500 /error.html
Override SSI Settings
Secara default, hanya halaman web yang mempunyai
extensi .shtml yang bisa menjalankan server-side termasuk SSI di server. Dengan
menggunakan .htaccess kita dapat mengubah setting default tersebut agar SSI
bisa bekerja dengan format HTML.
Untuk mengubah settingan tersebut, kita dapat
menambahkan kode berikut di file .htaccess
AddType text/html .html
AddHandler server-parsed .html
Jika kita menginginkan halaman yang berekstensi .html
dan .htm untuk dapat menjalankan SSI, maka file .htaccess dapat ditambahkan
kode berikut :
AddType text/html .html
AddHandler server-parsed .html
AddHandler server-parsed .htm
Change Default Home Page
artinya bahwa file .htaccess dapat digunakan untuk
mengubah nama default halaman depan web. Agar user bisa mengakses website kita
hanya dengan nama domain saja (http://www.nama_web.com) tanpa harus menulis
nama file secara jelas (http:www.nama_web.com/file.html), kita harus mempunyai
file index di root direktori. Nama file yang bisa diterima antara lain
index.html, index.htm, index.cgi, index.php dll. Pastikan bahwa file tsb
bernama index.*
Ada tingkatan dalam pemberian nama tersebut. Jika kita
punya index.cgi & index.html di root direktori maka server akan menampilkan
index.cgi karena .cgi memiliki tingkatan yang lebih tinggi daripada .html
Dengan .htaccess, kita bisa mendefinisikan file index
tambahan atau bisa juga mengubah urutan tingkatannya. Untuk mendefinisikan halamandepan.html sebagai
halaman index, kita dapat menambahkan kode berikut ke file .htaccess
DirectoryIndex
halamandepan.html
Hal ini akan membuat server mencari file bernama
halamandepan.html. Jika server menemukannya maka server akan menampilkannya.
Tapi bila tidak, maka server akan menampilkan error 404 Missing Page
Untuk mengubah urutan tingkatan, kita dapat memasukkan
perintah DirectoryIndex dengan nama-nama file dalam satu baris. Urutan
penulisan file tersebut menentukan urutan tingkatan, contohnya:
DirectoryIndex
halamandepan.html index.cgi index.php index.html
Enable Directory Browsing
Untuk alasan keamanan, server Apache biasanya telah
menghilangkan default setting yang memungkinkan directory indexing. Opsi inilah
yang memungkinkan isi dari direktori untuk ditampilkan di browser jika
direktori tersebut tidak mempunyai halaman index.
Contohnya, jika kita memasukkan sebuah UR yang tidak
mempunyai halaman index seperti misalnya http://websitemu.com/images/, maka
browser akan menampilkan daftar images di dalam direktori tersebut.
Block Users from Accessing Your Web Site
Jika kita menginginkan mem-blok access untuk beberapa
user, dimana kita mengetahui IP / domainname yang digunakannya, kita dapat
menambahkan kode berikut :
order deny,allow
deny from 123.456.789.000
deny from 456.78.90.
deny from .wwdq.com
allow from all
Pada contoh di atas, user dg 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 berasal dari WWDQ.com akan diblok. Jika mereka mencoba
mengakses website kita, maka akan tampil error 403 Forbidden (”You do not have
permission to access this site”).
Redirect Visitors to a New Page or Directory
Misalkan kita membuat ulang seluruh website kita,
me-rename halaman & direktori. Maka pengunjung halaman lama akan mendapat
error 404 File Not Found. Masalah tersebut dapat diatasi dengan melakukan
redirect dari halaman lama ke halaman yang baru. Contohnya bila halaman lama
kita adalah oldpage.html dan halaman baru adalah newpage.html maka perintahnya
adalah:
Redirect permanent
/oldpage.html http://www.mydomain.com/newpage.html
Jika kita me-rename (mengganti nama) direktori, maka
perintahnya adalah:
Redirect permanent
/olddirectory http://www.mydomain.com/newdirectory/
Perhatikan bahwa nama direktori yang lama ditulis
dengan relative path, sementara yang baru ditulis dengan URL absolut.
Prevent Hot Linking and
Bandwidth Leeching
Untuk mencegah orang lain me-link secara langsung ke
direktori image anda dari website mereka, biasanya ada orang mengambil gambar
dari website kita, tapi tetap menggunakan link diserver host kita, ini tentu
akan merugikan bagi kita karena dapat mengurangi bandwith di hosting kita,
untuk mengatasi hal ini kita dapat menambahkan kode berikut:
RewriteEngine on
RewriteCond %{HTTP_REFERER}
!^$
RewriteCond %{HTTP_REFERER}
!^http://(www\.)?namadomain.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ -
[F]
Perintah tersebut akan membuat direktori image hanya
bisa diakses bila user sedang mengakses www.namadomain.com
Jika kita merasa jengkel, kita bisa membuat sebuah
image alternatif bila direktori image di-link oleh orang lain. Contohnya kita
membuat image alternatif dengan nama nogambar.gif yang bertuliskan: “Gambar dr
web lain … kunjungi http://namadomain.com untuk melihat gambar sebenarnya.”
Maka kita dapat menambahkan kode berikut:
RewriteEngine on
RewriteCond %{HTTP_REFERER}
!^$
RewriteCond %{HTTP_REFERER}
!^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule \.(gif|jpg)$
http://www.mydomain.com/dontsteal.gif [R,L]
Prevent viewing of .htaccess or other files
Untuk mencegah user mengakses file .htaccess,
ketikkan perintah:
order allow,deny
deny from all