Mencegah Teknik SQL Injection di CodeIgniter
Pencegahan SQL Injection
SQL injection adalah serangan yang dilakukan pada query database. Dalam PHP, kita gunakan fungsi mysql_real_escape_string () untuk mencegah hal ini bersama dengan teknik lain tapi CodeIgniter menyediakan fungsi inbuilt dan perpustakaan untuk mencegah hal ini.
Kita dapat mencegah SQL Injection di CodeIgniter dalam tiga cara berikut -
- Escaping Query
- permintaan menanti
- Rekaman Aktif Kelas
Sumber : https://www.codeigniter.com/userguide3/database/queries.html
$this->db->escape_like_str($search)."%' ESCAPE '!'"
Escaping Query
function cariData($search)
{
$sql = "SELECT * FROM data WHERE nama LIKE '%".
$this->db->escape_like_str($search)."%'ESCAPE'!'".
$sql = "OR nisn LIKE '%".
$this->db->escape_like_str($search)."%'ESCAPE'!'";
return $this->db->query($sql);
}
$ this-> db-> escape_like_str () fungsi otomatis menambahkan tanda kutip tunggal sekitar data dan menentukan jenis data sehingga dapat melarikan diri hanya data string.
Saya akan mencoba menggunakan Query biasa seperti berikut.
function cariData($search)
{
$sql = "SELECT * FROM data WHERE nama like '%$search%' OR nisn like '%$search%'";
return $this->db->query($sql);
}
maka saat saya menginputkan ' pada form input.
maka akan menghasilkan error.
untuk mengatasi masalah diatas atau kebetulan menggunakan query LIKE kamu dapat menggunakan escape.
apakah website anda kurang aman? anda perlu jasa pembuatan website custom? kami siap memberikan pelayanan terbaik untuk anda.
Posting Komentar untuk "Mencegah Teknik SQL Injection di CodeIgniter"