Arsip

Posts Tagged ‘free’

Kode PHP Gratis Anti SQL Injection

September 16, 2009 Tinggalkan komentar

Ada seorang teman yang membuat website mini dengan kode pure PHP dan menggunakan database untuk menampilkan suatu artikel. Karena ada orang yang iseng, isi database yang teman buat ini diintip dengan cara meng-inject SQL. Inject SQL terjadi dengan cara yang sangat mudah. Misalnya ada suatu website dengan URL: http://www.injectsql.com/index.php?id=8. Parameter id=8 ternyata digunakan oleh orang-orang yang iseng untuk mengintip database server. Mereka biasanya mencoba-coba dengan http://www.injectsql.com/index.php?id=8; SELECT * FROM members; DROP members maka tabel member akan dihapus.

Fungsi berikut ini untuk mencegah injection, silakan di-kopi

function quote($value){
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
if (!is_numeric($value)) {
$value = “‘” . mysql_real_escape_string($value) . “‘”;
}
return $value;
}

Cara kerjanya :

Setiap hasil query misalnya “SELECT * FROM article WHERE id = “.quote($_GET[“id”]);

maka fungsi quote akan melakukan pengecekan terhadap input $_GET[“id”] apakah ada karakter-karakter aneh. Bila tidak ada maka query akan dieksekusi. Bila ada maka pesan error akan ditampilkan, sehingga pengintip tidak bisa bebas menulis parameter sembarangan.

Semoga bermanfaat

Kategori:Kodinger Tag:, , ,