Function php apa yang dapat digunakan untuk mencegah sql injection?

Penyerangan database seringkali dilakukan oleh orang-orang yang tidak bertanggungjawab. Penyerangan database ini bisa merusak database Anda. Salah satu bentuk penyerangan database ini adalah SQL Injection.

Penyerangan database dengan teknik SQL Injection ini bisa sangat merugikan Anda para pemilik website. Oleh karena itu, kami memberikan beberapa cara untuk mencegah SQL Injection yang ampuh dan mudah.

Table of Contents

Apa itu SQL Injection?

SQL Injection adalah salah satu teknik hacking yang paling seru dilakukan. Injection pada SQL biasanya terjadi ketika Anda meminta input dari pengguna, seperti nama pengguna/id pengguna mereka, dan alih-alih nama/id, pengguna memberi Anda pernyataan SQL yang tanpa sadar akan Anda jalankan di database Anda.

SQL Injection adalah penempatan kode berbahaya dalam pernyataan SQL, melalui input halaman web. Serangan injeksi pada SQL adalah salah satu kerentanan aplikasi web tertua, paling umum, dan paling berbahaya.

Injeksi SQL dapat memengaruhi situs web atau aplikasi web apa pun yang menggunakan database SQL seperti MySQL, Oracle, SQL Server, atau lainnya. Namun SQL Injection juga bisa diterapkan pada pencurian kartu kredit. Penjahat dapat menggunakan teknik hack ini untuk mendapatkan akses tidak sah ke data sensitif Anda: informasi pelanggan, data pribadi, rahasia dagang, kekayaan intelektual dan banyak lagi.

6 Cara Mengatasi SQL Injection

Jika Anda mendapat serangan injeksi SQL pada database Anda, tidak perlu khawatir! Anda bisa mengatasinya dengan 6 cara mengatasi SQL Injection di bawah ini.

1. Input Validation

Cara pertama mencegah serangan pada database adalah dengan melakukan input validation. Proses validasi bertujuan untuk memverifikasi apakah jenis input yang dikirimkan oleh pengguna yang diperbolehkan atau tidak.

Input validation atau validasi input memastikan bahwa itu adalah jenis, panjang, format yang diterima, dan sebagainya. Hanya nilai yang lolos validasi yang dapat diproses. Hal ini membantu melawan perintah apa pun yang dimasukkan ke dalam string input.

Validasi seharusnya tidak hanya diterapkan pada bidang yang memungkinkan pengguna mengetikkan input, artinya Anda juga harus menangani situasi berikut dalam ukuran yang sama:

  • Gunakan regular expression sebagai white list untuk data terstruktur [seperti nama, usia, pendapatan, respons survei, kode pos] untuk memastikan validasi input yang kuat.
  • Dalam hal kumpulan nilai tetap [seperti daftar drop-down, tombol radio], tentukan nilai mana yang dikembalikan. Data masukan harus sama persis dengan salah satu opsi yang ditawarkan.

Lihat contoh di bawah ini:

switch [$tableName] {
    case 'fooTable': return true;
    case 'barTable': return true;
    default: return new BadMessageException['unexpected value provided as table name'];
}

Variabel $tableName kemudian dapat langsung ditambahkan—sekarang dikenal luas sebagai salah satu nilai legal dan yang diharapkan untuk nama tabel. Dalam kasus daftar drop-down, sangat mudah untuk memvalidasi data. Dengan asumsi Anda ingin pengguna memilih peringkat dari 1 hingga 5, ubah kode PHP menjadi seperti ini:

Bài mới nhất

Chủ Đề