Lihat ke Halaman Asli

Menghindari SQL Injection dengan PHP Data Object

Diperbarui: 18 Juni 2015   02:38

Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.

Bagikan ide kreativitasmu dalam bentuk konten di Kompasiana | Sumber gambar: Freepik

Situs Web dinamis yang memerlukan database untuk menyimpan(record) ataupun mengambil/meminta(query) data perlu di amankan dari aksi - aksi kejahatan dunia cyber, salah satunya tindak kejahatan dengan penerapan SQL injection, yaitu penyisipan Bad Query  yang tidak diinginkan pada program atau kode yang kita tulis. sehingga database memberikan respon balik yang menimbulkan perubahan baik mendasar atau secara frontal pada program atau kode yang di tulis.   Situs Web sangat rentan dengan tindak kejahatan menggunakan metode SQL Injection. Jika bad Query yang disisipkan, dan situs web kita memberikan respon balik sesuai dengan permintaan bad query, maka situs web tersebut telah menjadi korban Website Hacking yang dilakukan oleh hacker ataupun cracker. Untuk menghindari SQL Injection, yang harus diprioritaskan adalah perbaikan kode-kode SQL pada program dalam hal ini  situs web dinamis yang telah dibuat.

salah satu cara perbaikan yang diperlukan adalah  beralih menggunakan PHP Data Object, bagi programmer web PHP yang terbiasa menggunakan ekstensi MySQL ataupun MySQLi untuk mengelola database,sudah saatnya beralih ke PHP Data Object(PDO). Apa itu PDO ?.  PDO adalah ekstensi PHP yang berfungsi sebagai data-access abstraction layer , maksudnya apapun sistem database yang kita gunakan, fungsi atau method untuk meminta(query) maupun mengambil data tetap sama(php.net). sehingga kita dapat berpindah - pindah sistem database tanpa khawatir menata ulang kode SQL yang telah ditulis, yang diperlukan hanya lah mengubah string koneksi sesuai dengan sistem database yang kita gunakan.

berikut contoh penggunaan PDO dengan database MySQL:

//contoh koneksi

$username =  'username;

$passwd = 'password pilihan';

$host = 'nama host';

$dsn='mysql:host='.$host.';dbname=' . $dbname;

try {

$db = new PDO($dsn, $username, $passwd);

}

Halaman Selanjutnya


BERI NILAI

Bagaimana reaksi Anda tentang artikel ini?

BERI KOMENTAR

Kirim

Konten Terkait


Video Pilihan

Terpopuler

Nilai Tertinggi

Feature Article

Terbaru

Headline