SQL injection merupakan salah satu teknik penyerangan yang ditujukan ke database di server. Cara yang digunakan sebenarnya sangat sederhana, yaitu penyerang berusaha memasukkan query yang tidak valid ke melalui field input ataupun melalui URL. Mengingat sederhananya teknik ini ada beberapa programmer yang terkadang mengabaikannya.
Untuk mencegah serangan dari hacker atau Blackhat, berikut ini adalah beberapa tips untuk mencegah SQL Injection.
1. Filter Input
Pada versi terbaru PHP sudah dilengkapi dengan filtering otomatis (disable magic_quotes_gpc) dengan mengubah karakter single quote (') menjadi (\'). Dengan kata lain karakter yang berasal dari proses input melalui form secara otomatis ditambah backslash-single-quote (\').
Sehingga dari kasus query injeksi pada umumnya :
Mysql_real_escape_string() sendiri mempunyai fungsi yang sama yaitu mengubah single-quote menjadi backslash-single-quote.
Dengan mematikan pesan error atau mematikannya akan mengurangi kemungkinan hacker melanjutkan serangan ke situs anda ke tahap berikutnya. Cara mematikan atau menyembunyikannya di PHP adalah dengan menggunakan fungsi error_reporting().
1 = enable
1. Filter Input
Pada versi terbaru PHP sudah dilengkapi dengan filtering otomatis (disable magic_quotes_gpc) dengan mengubah karakter single quote (') menjadi (\'). Dengan kata lain karakter yang berasal dari proses input melalui form secara otomatis ditambah backslash-single-quote (\').
Sehingga dari kasus query injeksi pada umumnya :
Where username = '' or 1 = 1; -- ' AND Password = 'diisi sembarang'Menjadi
Where username = '\' or 1 = 1; -- 'AND Password = 'diisi sembarang'Namun jika versi PHP yang digunakan belum men-disable fungsi magic_quotes_gpc, maka query injeksi tersebut masih bisa berjalan. Hal ini bisa diatasi dengan fungsi mysql_real_escape_string().
Mysql_real_escape_string() sendiri mempunyai fungsi yang sama yaitu mengubah single-quote menjadi backslash-single-quote.
$username = mysql_real_escape_string ($_POST['username']);2. Matikan atau Sembunyikan Pesan Error
Dengan mematikan pesan error atau mematikannya akan mengurangi kemungkinan hacker melanjutkan serangan ke situs anda ke tahap berikutnya. Cara mematikan atau menyembunyikannya di PHP adalah dengan menggunakan fungsi error_reporting().
error_reporting(0);Ket : 0 = disable
1 = enable
Bagikan
Cara Mencegah SQL Injection Pada PHP
4/
5
Oleh
Admin

