Cara Mencegah SQL Injection pada CodeIgniter

Cara Mencegah SQL Injection pada CodeIgniter

SQL Injection adalah sebuah teknik yang menyalahgunakan sebuah celah keamanan yang terjadi dalam lapisan basis data sebuah aplikasi. Celah ini terjadi ketika masukan pengguna tidak disaring secara benar dari karakter-karakter pelolos bentukan string yang diimbuhkan dalam pernyataan SQL atau masukan pengguna tidak bertipe kuat dan karenanya dijalankan tidak sesuai harapan. Ini sebenarnya adalah sebuah contoh dari sebuah kategori celah keamanan yang lebih umum yang dapat terjadi setiap kali sebuah bahasa pemrograman atau skrip diimbuhkan di dalam bahasa yang lain. (Wikipedia)

Dalam artikel kali ini TeknoWebApp akan memberikan tutorial cara mencegah SQL Injection khususnya pada Framework CodeIgniter.

Artikel ini ditulis karena saya pernah mendapat email adanya celah SQL Injection pada sebuah website yang pernah TeknoWebApp buat, terimakasih untuk nickname RZYZ yang sudah melaporkan celah ini.

Celah yang dilaporkan oleh RYZY ditemukan pada saat mencari sebuah data dengan URL www.domain.com/filter?jenis=10&tahun=2019 dimana RYZY menambahkan karaker tanda petik diakhir URL tersebut dan mendapat respon HTTP ERROR 500. Setelah diexploitasi lebih jauh menggunakan SQLMap ternyata memang web tersebut Vuln.

Karena adanya laporan diatas, saya langsung memperbaiki celah tersebut. Lalu bagaimana cara mencegah SQL Injection pada CodeIgniter? Mari kita baca tutorialnya.

Sebenarnya sangat mudah untuk mencegah serangan SQL Injection pada website kita terutama para pengguna CodeIgniter. Sebagai contoh dibawah ini saya mempunyai Input Class dengan kode :

$jenis = $this->input->post('jenis');

Maka kita tinggal menambahkan sedikit kode pada Input Class tersebut. Sehigga menjadi seperti dibawah ini :

$jenis = str_replace("'", "", htmlspecialchars($this->input->post('jenis'), ENT_QUOTES));

Simpan kode diatas, lalu coba tes dengan cara menambahkan karakter tanda petik pada URL yang Vuln SQL Injection. Jika browser tidak menampilkan adanya error pada Query kita, maka tutorial diatas berhasil.

Bagaimana? Sangat mudah bukan! Mungkin cukup sekian tutorial tentang Cara Mencegah SQL Injection pada CodeIgniter jika bermanfaat silahkan share keteman-teman kalian supaya mereka tau apa yang kalian tau. Jika ada kesulitan silahkan tinggalkan komentar.

Gagas Sangga Pratama   Gagas Sangga Pratama Sabtu, 02 November 2019 809 View CodeIgniter

Komentar