Jumat, 20 April 2018

Cara Mencegah SQL Injection

SQL Injection merupakan salah satu teknik hacking yang digunakan oleh para attacker/hacker. Teknik ini memanfaatkan kelemahan SQL untuk melakukan aktifitas hacking terhadap suatu situs. Proses Injection biasanya dilakukan ketika terdapat input pada form dengan perintah atau kode tertentu. Akibat dari serangan ini, hacker dapat mengambil dan memanipulasi data yang terdapat dalam suatu situs tersebut.



Nahl, untuk mencegah serangan dari hacker, 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
4/ 5
Oleh

Subscribe via email

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