Mencegah sql injection (php)

Ternyata masih sangat banyak website yang memiliki celah keamanan berupa sql injection. Paling sering ditemukan di website yg di develop sendiri oleh pemilik / team mereka. Sudah agak susah menemukan celah ini di website yang menggunakan CMS standard (Joomla, Mambo, phpBB, dll). Kadang masih ada ditemukan celah sql injection di web yang menggunakan CMS yang telah di modifikasi atau ditambah modul buatan pihak ketiga.

Penyebab utama dari celah ini adalah variable yang kurang di filter. Misal

<? $id=$_GET[id];$query="select * from table where id=$id;....... >

Nah, jelas bahwa variable $id tidak di filter sama sekali.
Karena biasanya variabel ini diharapkan berbentuk angka. Tapi tanpa filter seperti itu, pengunjung bisa saja memasukkan query tambahan (sql injection). So, ini salah satu cara pencegahannya.

Buat agar nilai $id selalu berbentuk angka.

<?
$id=(int)($_GET[id]);
echo "id = ".$id;
?>
Coba save jadi test.php. Kemudian akses "localhost/test.php?id=1cde"
nilai yang kan muncul hanya angka paling depan yaitu 1, sedangkan yang bukan angka tidak akan menjadi bagian dari variabel $id.

Semoga bisa membantu developer2 web berbasis php.
and please C M I I W

agus

0 Responses to "Mencegah sql injection (php)"

Post a Comment