Lompat ke konten Lompat ke sidebar Lompat ke footer

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
tetapi kali ini saya akan membahas Escaping Query. Mahfud Ivan Patoni

$this->db->escape_like_str($search)."%' ESCAPE '!'"
 Sumber : https://www.codeigniter.com/userguide3/database/queries.html

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"