Jika Sang Khalik menghendaki, maka semua manusia akan memiliki warna kulit yang sama, agama yang hanya satu, tidak ada yang namanya negara, suku bangsa dan tidak ada perbedaan. Artinya Sang Khalik memang menghendaki adanya perbedaan. Perbedaan adalah hakekat penciptaan. Perbedaan itu indah.

Membuat Aplikasi PHP Yang Aman Bag. 1

Dikirim: August 29th, 2006 | Oleh: | Kategori: PHP | 27 Komentar »

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.

  1. // lokasi script: http://localhost/login.php
  2. // script login yang dipanggil dari sebuah form untuk masuk kedalam halaman Admin
  3.  
  4. // set variable $oke manjadi true jika autentifikasi sukses
  5. if (authentifikasi($_POST['user'],$_POST['password']) {
  6.    $oke=true;
  7. }
  8.  
  9. if ($oke) {
  10.    // masuk ke halaman admin
  11. }

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:

  1. // Inisialisasi variable $oke
  2. $oke=false;
  3.  
  4. if (authentifikasi($_POST['user'],$_POST['password']) {
  5.    $oke=true;
  6. }

atau

  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


27 komentar untuk “Membuat Aplikasi PHP Yang Aman Bag. 1”

  1. 1
    bagonk
    berkomentar pada jam 11:17 pm
    tanggal 29 August 2006

    wow… sayang blom bisa PeHaPe… :D

    btw, saya buka site ini pakai opera@ubuntu koq page-scrollnya jadi lambat banget ya? kayak nge-lag gitu. site-site yang lain semuanya normal… :(

  2. 2
    Riyogarta
    berkomentar pada jam 11:22 pm
    tanggal 29 August 2006

    Oh ya? pada halaman ini saja atau semua halaman?
    Kalau pada halaman ini saja mungkin akibat plugin IG:Syntax Highliter yang saya pergunakan untuk menuliskan contoh script.

    Saya belum pernah coba pakai Opera sih .. nanti saya coba.

  3. 3
    bagonk
    berkomentar pada jam 9:19 pm
    tanggal 31 August 2006

    di halaman ini dan di halaman depan sama lambat mas…
    coba saya buka pake firefox juga…

  4. 4
    bagonk lagi
    berkomentar pada jam 9:22 pm
    tanggal 31 August 2006

    pakai forefox page scroll cukup cepat…
    mungkin problemnya memang di opera-nya… :)

  5. 5
    Catatan » Membuat Aplikasi PHP Yang Aman Bag. 2
    berkomentar pada jam 10:55 am
    tanggal 2 September 2006

    […] Sambungan dari: Membuat Aplikasi PHP Yang Aman Bag. 1 […]

  6. 6
    Daenk Yani
    berkomentar pada jam 12:54 pm
    tanggal 1 October 2006

    :-? Menurut ane sih, musti ada parsing + Enkripsi + hindari variabel global

  7. 7
    Daenk Yani
    berkomentar pada jam 12:56 pm
    tanggal 1 October 2006

    KAlo mo enak browsingnya gunainaja IE explorer kenapa susah-susah, udah kita bajak aje microdoft. SETUJU GA ….. !!!Apa mo bikin komunitas Open source nih …..:d:)>-

  8. 8
    Daenk Yani
    berkomentar pada jam 12:58 pm
    tanggal 1 October 2006

    :d sorry maksudnye microsoft saking bersemangatnye ……:d

  9. 9
    Laras
    berkomentar pada jam 3:29 pm
    tanggal 17 October 2006

    mau nanaya authentifikasi email yang bisa dipake di linux dan windows yg spt apa ya?

  10. 10
    bram
    berkomentar pada jam 7:34 pm
    tanggal 30 December 2006

    saya pemula dalam membuat website. ingin sekali tau cara membuat website dengan menggunakan php. pertanyaannya
    1. software apa yang harus saya pake
    2. apakah pembuatannya bisa menggunakan FronPage
    3. situs mana yang menyediakan tutorial php.

  11. 11
    Riyogarta
    berkomentar pada jam 11:12 pm
    tanggal 30 December 2006

    @bram
    Mungkin Anda bisa membaca ini terlebih dahulu
    http://riyo.bedeng.com/2006/08/26/panduan-belajar-php/
    Salam.

  12. 12
    Catatan » Plugin Wordpress Yang Dipakai
    berkomentar pada jam 11:08 am
    tanggal 16 February 2007

    […] iG:Syntax HiliterDigunakan untuk membuat posting yang berisi script pemrogaman. Bisa dilihat contohnya disini […]

  13. 13
    Rinaldi Angga Kusuma
    berkomentar pada jam 6:10 pm
    tanggal 9 March 2007

    Bagaiman membuat apliksi warnet mengunakan php

  14. 14
    rachmat
    berkomentar pada jam 8:48 pm
    tanggal 31 May 2007

    salam kenal
    web anda bagus, maklum saya belum punya web n masih pemula, bisa ngga bagi bagi ilmunya. hal apa saja yang harus saya lakukan untuk dapat membuat web menengah yang kualitas keamanannya cukup baik. terimakasih atas segala bantuannya.

  15. 15
    Kurt
    berkomentar pada jam 3:28 pm
    tanggal 30 August 2007

    :d salam kenal bos, saya salut dengan ilmu Anda. saya punya masalah serius dengan web di sini. masalahnya pada “diskusi tamu” saya pake joomlabook atau easybook tidak jalan. Apa yaa sebabnya? Jika tidak berkeberatan, sudilahkan kiranya memberitahukan kepada saya di web pribadi sebelumnya terima kasih. Semoga Tuhan membalas kebaikan Anda.

  16. 16
    Kurt
    berkomentar pada jam 3:53 pm
    tanggal 30 August 2007

    web pribadi

  17. 17
    Riyogarta
    berkomentar pada jam 11:35 pm
    tanggal 30 August 2007

    @Kurt
    Maaf, saya tidak bisa bantu, soalnya saya tidak pernah menggunakan Joomlabook atau easybook :(

  18. 18
    ABDULL
    berkomentar pada jam 2:17 pm
    tanggal 18 February 2008

    :d/

    Posting terakhir di blognya ABDULL DIKBUD

  19. 19
    dilla
    berkomentar pada jam 10:56 am
    tanggal 26 August 2008

    no komen

  20. 20
    agung
    berkomentar pada jam 4:37 pm
    tanggal 4 September 2008

    tolong bagaimana caranya ada tulisan ketika pointer digerakann kalimat yang bertuliskan belum punya blog bisa bergerak menurut pointer?
    tolong bantuannya. :)

  21. 21
    lywowlill
    berkomentar pada jam 8:39 am
    tanggal 3 February 2009

    cesars free online slot machines free slot machines online play free slot machines online play free tabasco slot machines online Online Slot Machines

  22. 22
    hanafi
    berkomentar pada jam 8:32 am
    tanggal 29 April 2009

    thanks Ya

  23. 23
    Tya
    berkomentar pada jam 11:54 am
    tanggal 1 March 2011

    saya masih bingung belajar php.
    maklum, karena saya baru belajar… ^_^

  24. 24
    willy
    berkomentar pada jam 11:41 pm
    tanggal 2 January 2012

    wow, aku masih bingung, hehe aku baru pemula untuk masalah PHP tapi nice info n terimakasih
    visit me http://blog.umy.ac.id/willywonka/

  25. 25
    willy
    berkomentar pada jam 10:50 am
    tanggal 3 January 2012

    aduh punyaku malah belepotan nih

  26. 26
    Chester
    berkomentar pada jam 3:39 am
    tanggal 17 November 2014

    .

    ñýíêñ çà èíôó.

  27. 27
    andi
    berkomentar pada jam 4:59 pm
    tanggal 22 August 2016

    tanks bro


Isi Komentar