blis<=========|Gue_ni|=========>blis
| <====(( JATIMCREW )) Waktu Dimana Anak-anak Bangsa Menunjukkan Kreativitasnya-----------|
Darah_2Darah_1

Kamis, 08 Juli 2010

Tips Membuat Aplikasi PHP Yang Aman


Vulnerabilities atau kelemahan keamanan pada aplikasi berbasis web menggunakan PHP merupakan hal yang tak habis-habisnya dibahas. Tulisan kali ini berisi tip dan trik membuat aplikasi PHP yang aman.

* Perhatikan Register Global selalu dalam kondisi OFF.

Sebenarnya tidaklah selalu benar bahwa jika register global berkondisi on lantas aplikasi PHP yang dibuat tidak aman. Ini semua bergantung kepada bagaimana seorang programmer membuat script-nya.

Berikut contoh kelemahan keamanan yang disebabkan oleh kesalahan dalam penulisan script yang mengakibatkan penyerang dapat dengan mudah memanfaatkan register global berkondisi on.

[php]
// lokasi script: http://localhost/login.php
// script login yang dipanggil dari sebuah form untuk masuk kedalam halaman Admin

// set variable $oke manjadi true jika autentifikasi sukses
if (authentifikasi($_POST['user'],$_POST['password']) {
$oke=true;
}

if ($oke) {
// masuk ke halaman admin
}
[/php]

Sekilas kode script diatas adalah kode yang aman, tetapi sebenarnya sama sekali tidak dengan kondisi register global on. Mengapa? Halaman Admin bisa diakses oleh siapa pun tanpa proses authentifikasi melalui alamat http://localhost/login.php?oke=true.

Bagaimana memperbaiki script diatas? Anda cukup menambahkan inisialisasi diawal seperti berikut:

[php num=5]
// Inisialisasi variable $oke
$oke=false;

if (authentifikasi($_POST['user'],$_POST['password']) {
$oke=true;
}
[/php]

atau

[php num=5]
if (authentifikasi($_POST['user'],$_POST['password']) {
$oke=true;
} else { // jika authentifikasi gagal, set variable $oke menjadi false
$oke=false;
}
[/php]


Contoh script diatas adalah salah satu dari kelemahan keamanan yang disebabkan oleh register global berkondisi on. Di sisi lain, programmer juga harus turut menanggung dosa akibat teknik programmingnya yang membuka kesempatan penyerang untuk mengeksploitasi kelemahan keamanan.

Teknik lain untuk mengamankan aplikasi dari ancaman register global berkondisi on adalah menerapkan apa yang disebut Security Throuh Obscurity (keamanan dengan teknik penyembunyian). Hanya saja, kelemahan keamanan akan segera ditemukan jika aplikasi dibuat menjadi aplikasi opensource, dimana calon penyerang dapat melihat sourcecode-nya secara langsung.

Jadi memang tidak benar 100% kalau kelemahan keamanan aplikasi PHP bermula dari register global berkondisi on. Ekploitasi kelemahan keamanan sistem hanya terjadi akibat kesalahan teknik dalam pembuatan program, dan karena aplikasi dibuat menjadi opensource yang memungkinkan calon penyerang melihat sourcecode nya secara langsung.

1 komentar: