Selasa, 31 Juli 2012

Apakah .htaccess itu ?

File .htaccess adalah file konfigurasi yang disediakan oleh web server Apache, yang biasanya digunakan untuk mengubah settingan default dari Apache. 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.

Berikut adalah beberapa fungsi dari .htaccess:

  • memproteksi direktori dengan password
  • mengalihkan pengunjung website anda dengan otomatis
  • mengatur custom error pages
  • memblacklist IP address tertentu
  • mengganti ekstensi file
  • mengijinkan atau menolak list direktori, dll.


itu sedikit penjelasan tentang .htaccess dan kali ini aku tidak akan banyak menjelaskan tentang apa dan bagaimana itu file .htaccess tetapi beberapa kegunaan file ini yang akan bermanfaat untuk Sekuritas. Oke langsung sajah…

Mencegah Akses Ke .htaccess
Tambahkan baris berikut untuk menambah keamanan dari file .htaccess sehingga apabila ada usaha untuk mengakses file tersebut akan muncul pesan kesalahan 403. Tentu saja tidak lupa memberikan file permissionnya menjadi 644.
Quote:<Files .htaccess>
order allow,deny
deny from all
</Files>

Mencegah Akses Ke File Tertentu
Untuk membatasi akses ke file tertentu kita dapat menggunakan perintah berikut. Ganti nama rahasia.txt menjadi sesuai dengan kebutuhan kita. Nantinya file tersebut akan disembunyikan dan apabila terdapat usaha untuk mengakses file tersebut akan terjadi error 403.
Quote:<files rahasia.txt>
order allow,deny
deny from all
</files>

Mencegah Akses Ke Banyak File
Kita bisa mengganti beberapa extension dibawah sesuai dengan yang kita butuhkan.
Quote:<FilesMatch “\.(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$”>
Order Allow,Deny
Deny from all
</FilesMatch>

Mencegah User Melakukan Browsing Pada Setiap Direktori Server Kita
Quote:Options All -Indexes

Mengijinkan User Melakukan Browsing
Jika kita mengijinkan user untuk melakukan browsing pada “direktori yang telah kita tentukan” cukup menambahkan perintah seperti dibawah ini. ( Cukup tempatkan file .htaccess pada folder yang diinginkan )
Quote:Options All +Indexes

Mencegah User Melakukan Browsing Tanpa Pesan Error 403
Quote:IndexIgnore *

Mencegah User Melakukan Browsing Dengan Membatasi Extension File.
Quote:IndexIgnore *.wmv *.mp4 *.avi *.etc

Mengubah Index File
Secara default apabila kita membuat beberapa file dan salah satunya terdapat index file, maka file tersebutlah yang akan dijalankan terlebih dahulu. Dengan menggunakan .htaccess kita dapat merubahnya menjadi nama file yang kita inginkan.
Quote:DirectoryIndex ganti.php

Menyamarkan Extension PHP
Ini sangat berguna untuk menambahkan keamanan pada aplikasi PHP yang kita buat. Kita bisa mengganti extension php pada aplikasi kita dengan extension yang telah kita daftarkan, Mungkin “LOL”, “hacking”, dll. Nah dengan kode berikut, file tersebut akan tetap dibaca sebagai file PHP. Sedikit catatan, biasanya saya mencari file httpd.conf dan menambahkan extensionnya disitu, akan tetapi inilah kelebihan .htaccess. Kita tidak perlu merubah settingan asli pada Apache.
Quote:AddType application/x-httpd-php .hacking

Membatasi Akses Ke LAN (Local Area Network)
Quote:<Limit GET POST PUT>
order deny,allow
deny from all
allow from 192.168.1.5
</Limit>

Bisa Menambahkan Domain
Quote:<Limit GET POST PUT>
order allow,deny
allow from all
deny from 192.168.1.5
deny from .*domain\.com.*
</Limit>


Memberikan Password Pada File
Quote:<Files rahasia.php>
AuthType Basic
AuthName “Prompt”
AuthUserFile /home/path/.htpasswd
Require valid-user
</Files>

Memberikan Password Pada Banyak File
Quote:<FilesMatch “^(execute|index|secure|insanity|biscuit)*$”>
AuthType basic
AuthName “Development”
AuthUserFile /home/path/.htpasswd
Require valid-user
</FilesMatch>


Memberikan Password Pada Direktori Dimana .htaccess Berada
Quote:resides
AuthType basic
AuthName “This directory is protected”
AuthUserFile /home/path/.htpasswd
AuthGroupFile /dev/null
Require valid-user

Selamat mencoba
Semoga bermanfaat =)

Referensi:
http://hostingunlimitedterbaik.com/2012/06/18/pengertian-htaccess/#ixzz226AsZcsa
http://wwdq.blogspot.com/2011/09/pengertian-dan-penggunaan-file-htaccess.html
http://commit-tegal.org/2012/04/htaccess-security.gha16



PHP,Framework dan CodeIgniter


PHP

Hypertext Preprosesor yaitu suatu bahasa script yang ditanamkan atau disisipkan ke dalam HTML yang dirancang untuk para web developer untuk membuat halaman web dinamis. HTML (Hypertext Markup Language) yaitu suatu bahasa pemrograman yang me mark up (penandaan) terhadap suatu dokumen text. PHP dan HTML biasanya menjadi satu yang dieksekusi pada server. Bedanya PHP bersifat server-side scripting dan HTML merupakan embedded scripting.

Framework

Framework dapat diartikan berupa koleksi atau kumpulan potong – potong script  yang disusun dan diorganisasikan sedemikian rupa, sehingga dapat digunakan untuk membantu pembuatan aplikasi utuh tanpa harus membuat semua kode dari awal
Macam – macam framework di PHP
Macam – macam framework :
1.  Framework PHP
·      Cake PHP
·      Code Igniter (CI)
·      Symphony
·      Zend
·      Yii
·      Kohana

CodeIgniter

Codeigniter adalah salah satu framework yang banyak digunakan oleh para programmer yang dikembangkan oleh Rick Elis (http://www.ellislab.com). CodeIgniter membiarkan kita untuk memfokuskan diri pada pembuatan website dengan meminimalkan pembuatan kode untuk berbagai tujuan pembuatan website. Code Iginiter bersifat open source atau gratis yang menjadi salah satu kelebihannya.

Kelebihan dan kekurangan CI
1.         Gratis
Codeigniter berlisensi dibawah Apache/BSD open source, jadi Anda bisa menggunakannya secara bebas.

2.      Ditulis Menggunakan PHP 4
Meskipun codeigniter dapat berjalan pada PHP 5, namun sampai saat ini kode program codeigniter masih dibuat dengan menggunakan PHP 4. Hal ini dilakukan agar codeigniter dapat tersebar lebih luas di komunitas PHP. Karena hingga saat ini, sebagian besar web hosting masih menggunakan PHP 4.

3.      Berukuran kecil
Ukuran codeigniter yang kecil merupakan keunggulan tersendiri. Dibanding framework lainnya yang berukuran besar, serta membutuhkan resource yang besar pula untuk berjalan. Pada codeigniter, bisa diatur agar system meload library yang dibutuhkan saja, sehingga dapat berjalan ringan dan cepat.

4.      Menggunakan konsep M-V-C
Codeigniter menggunkan konsep M-V-C (Model-View-Controller) yang memungkinkan pemisahan antara layer aplication-logic dan presentation.

5.      URL yang sederhana
Secara default, URL yang dihasilkan Codeigniter sangat bersih (Clean) dan Search Engine Friendly (SEF).

6.      Memiliki paket library yang lengkap
Codeigniter memiliki library yang lengkap untuk mengerjakan operasi-operasi yang umum dibutuhkan oelh sebuah aplikasi berbasis web, misalnya mengakses database, mengirim email, memvalidasi form, menangani session, dan sebagainya.

7.      Extensible
Sistem dapat dikembangkan dengan mudah dengan menggunkan plugin dan helper, atau dengan menggunakan hooks.

8.      Tidak memerlukan Template Engine
Meskipun Codeigniter dilengkapi dengan template parser sederhana yang dapat Anda gunakan, tetapi hal ini tidak mengharuskan Anda untuk menggunakannya. Penggunaan Template Engine dapat mengurangi performance dari sistem.

9.      Dokumentasi lengkap dan jelas
Dari sekian banyak framework, codeigniter adalah satu-stunya framework dengan documentasi yang lengkap dan jelas. Silahkan baca CodeIgniter User Guide. Tim pengembang Codeigniter berkomitmen bahwa dokumentasi juga sama pentingnya dengan kode program Codeigniter itu sendiri. Source kode Codeigniter juga dilengkapi comment didalamnya, sehingga memperjelas fungsi sebuah kode program.

10.  Komunitas
Komunitas pengguna Codeigniter saat ini berkembang pesat, Anda pun dapat berpartisipasi di http://codeignoter.com/forum/. Ada kalanya Anda mencari informasi yang case by case yang tidak dapat Anda temukan jawabannya pada User Guide. Forum Codeigniter adalah salah satu tempat yang layak Anda kunjungi.

Referensi