Created (c) by Blog-JmK

Membuat Aplikasi PHP Yang Aman Bag. 1


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



1. 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:





  1. // lokasi script: http://localhost/login.php



  2. // script login yang dipanggil dari sebuah form untuk masuk kedalam halaman Admin






  3. // set variable $oke manjadi true jika autentifikasi sukses




  4. if (authentifikasi($_POST['user'],$_POST['password']) {



  5. $oke=true;




  6. }






  7. if ($oke) {



  8. // masuk ke halaman admin




  9. }







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:




  1. // Inisialisasi variable $oke



  2. $oke=false;







  3. if (authentifikasi($_POST['user'],$_POST['password']) {



  4. $oke=true;




  5. }







atau



PHP:





  1. if (authentifikasi($_POST['user'],$_POST['password']) {



  2. $oke=true;




  3. } else { // jika authentifikasi gagal, set variable $oke menjadi false



  4. $oke=false;




  5. }







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.



Terlepas dari semua itu, programmer haruslah memiliki security mind yang memadai dalam membuat aplikasi, apalagi jika memiliki niat untuk membuatnya menjadi aplikasi opensource. Tetapi programmer juga manusia yang tak luput dari kesalahan. Jadi 100% PHP tidak salah melakukan keputusan untuk membuat default register global berkondisi off sejak versi 4.2.0.


Bersambung ke Membuat Aplikasi PHP Yang Aman Bag. 2







Baca Juga Yang Lainnya:



0 komentar:

Posting Komentar

Kembali Keatas