Monday, September 17, 2018

Cara Mencegah SQL Injection Pada PHP

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.
Cara Mencegah SQL Injection Pada PHP

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 :

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

Jangan lewatkan

Cara Mencegah SQL Injection Pada PHP
4/ 5
Oleh

Subscribe via email

Suka dengan artikel di atas? Tambahkan email Anda untuk berlangganan.