Newsletter
Voting: februari2010
Email kan kepada kawan anda
Kontak BeritaNET.com :
Naskah : redaksi AT beritanet.com
Iklan : iklan AT beritanet.com
Lowongan : karir AT beritanet.com
Kursus IT : kursus AT beritanet.com
Beli Buku : buku AT beritanet.com
Kerjasama : joint AT beritanet.com
Prakiraan Cuaca Besok
Mungkin sudah banyak sekali artikel-artikel yang membahas tentang cara menghindari PHP Injeksi, namun disini saya akan menjelaskan lebih detail lagi caranya beserta source code nya sehingga pembaca lebih mudah untuk mengimplementasikannya. Tentu anda sudah tidak asing lagi mendengar kata PHP Injeksi, tapi mungkin ada beberapa orang yang belum mengerti apa itu PHP Injeksi. PHP Injeksi adalah sebuah istilah dimana seorang penyusup membongkar security web dengan cara memasukan skrip-skrip PHP maupun JavaScript kedalam sistem web melalui media inputan seperti News, ShutBox ataupun lewat URL. Untuk menghindari hal-hal tersebut ada beberapa langkah yang dapat kita lakukan, yaitu:
1. Anda dapat sedikit
merubah teknik kode saat mengeksekusi isi berita(News).
Berikut adalah contoh kodenya:
<?php
$dbh = mysql_connect(‘localhost’,
‘username’, ‘password’);
mysql_select_db (‘cmsdb’, $dbh);
$id =
mysql_real_escape_string($_GET[‘id’]);<
br />$SQL = “SELECT * FROM (nama_tabel) WHERE
(id)= ‘”.$id.”’”;
$result = mysql_query($SQL, $dbh) OR die
(mysql_error($dbh));
while ($row =
mysql_fetch_array($result, MYSQL_ASSOC)){
$headline =
stripslashes($row[‘headline’]);
Echo “Headline”
.$headline;
}
Mysql_free_result($result);
Mysql_close($dbh);
?>
2. Anda dapat melakukan validasi
data yang berasal dari URL. Contohnya:
<?php
$dbh = mysql_connect(‘localhost’,
‘username’, ‘password’);
mysql_select_db (‘cmsdb’, $dbh);
$id = $_GET[‘id’];
if
(!is_numeric($id)){
die (“Jangan
memodifikasi ID berita”);
}
$SQL =
“SELECT * FROM (nama_table) WHERE (id) =
‘”.$id.”’”;
$result = mysql_query($SQL, $dbh) OR die
(mysql_error($dbh));
while ($row =
mysql_fetch_array($result, MYSQL_ASSOC)){
$headline =
stripslashes($row[‘headline’]);
Echo “Headline”
.$headline;
}
Mysql_free_result($result);
Mysql_close($dbh);
?>
3. Membatasi panjang digit user
saat login. Contohnya:
<?php
$dbh =
mysql_connect(‘localhost’,
‘username’, ‘password’);
mysql_select_db (‘cmsdb’, $dbh);
$username =
$_POST[‘username’];
$password
= $_POST[‘password’];
$length
= strlen ($username);
// Apabila datanya
terlalu panjang, maka pesan akan ditolak
If
($length < 5 || $length > 25) {
die (‘Digit user anda
berlebihan!!! Masukan hanya antara 5 sampai 25 digit
saja’);
}
// Menjalankan query
$SQL = “SELECT * FROM users WHERE username
=
‘”.$username.”’”;
$SQL .= “AND password=PASSWORD
(‘$password’) “;
$result
= mysql_query ($SQL);
Mysql_close
($dbh);
?>
Penulis
: Adi Suratno Sukmo Kusumo - Peserta Content
Contest 2009
Diskusikan berita ini di Diskusi BeritaNET.com




Muka |

