Lindungi code anda dari SQL Injection

-->

Anda tentu pernah dengar tentang SQL injection bukan, ia adalah salah satu cara hacker/cracker untuk memecah/mengodam/menukar data anda yang disimpan di dalan database SQL.

Mereka yang ingin melakukan SQL injection ini akan mencari entry point / attack surface / backdoor yang membolehkan mereka memecah masuk ke dalam database kita. Jadi untuk mengelakkan perkara ini berlaku, sebagai programmer kita perlu memastikan semua input yang dimasukkan oleh user valid dan tiada unsur hacking. Dalam istilah english, ia dipanggil sanitization of user inputs to decrease the attack surface. (mana tau kot2 anda nak googling lepas baca tutorial ni kan?).

function sql_quote( $value ){
 
if( get_magic_quotes_gpc() )
 
{
 
$value = stripslashes( $value );
 
}
 
//check if this function exists
 
if( function_exists( "mysql_real_escape_string" ) )
 
{
 
$value = mysql_real_escape_string( $value );
 
}
 
//for PHP version < 4.3.0 use addslashes
 
else
 
{
 
$value = addslashes( $value );
 
}
 
return $value;
 
}

Contoh penggunaan, saya ambil contoh mudah;
Katakan anda mempunyai variable $_POST['username] . Jadi apa yang perlu anda lakukan sebelum melakukan apa2 SQL query adalah $username = sql_quote($_POST['username']);

sng bukan? tiada lagi ancaman sql injection.

  • Share/Bookmark
Written by mdpai on March 22, 2008

5 Responses to “Lindungi code anda dari SQL Injection”

  • oh..
    selalunya SQL injection disebabkan oleh masalah ni je ke?

  • selalunya mmg diorang akan cari lubang untuk buat sql injection ni..jawapan nya ya kat sini,,

  • asik

  • tenkiu mdpai.cayalah lu

  • code diatas ditaruhnya dimana om mdpai ?
    disetiap file-kah atau mana ?

    terima kasih atas jawabannya

  • LEAVE A COMMENT