Kamis, 04 Februari 2010 - 18:15:05 WIB
Cara untuk memasukkan data tanda petik tunggal ke database mysql
Diposting oleh : Administrator
Kategori: MYSQL
- Dibaca: 71 kali
Bisa saya jelaskan dengan ringkas:
sql="SELECT / FROM tb WHERE var1='$kond'"
$kond adalah variabel input dari user.
Misal input adalah: "saya" (tanpa tanda petik)
sql berbunyi=SELECT * FROM tb WHERE var1='saya'
Artinya sql membuka tabel tb yang semua field var1 yang cumka berisi string "saya".
Bagaimana jika user diijinkan menggunakan tanda petik tunggal?
Misal diinput: ';DROP TABLE tb; >>lihat tanda petik di awal
Maka sql berbunyi: SELECT * FROM tb WHERE var1='';DROP TABLE tb;'
Hasilnya: HILANG TABEL, atau diisi DROP DATABASE dbku
HANCURDAH!
Cara inilah yg digunakan oleh ~~~ yang ngacoin situs KPU.
Dengan demikian, celah tsb telah ditutupi dengan bijak oleh php dengan tidak mengizinkan input tanda petik tunggal.
Ada sebenarnya fungsi php yang bisa mengizinkan tanda petik digunakan, yaitu:
string addslashes (string str)
Misal:
str="Saya adalah tanda ' petik"
echo addslashes (str)
//output: Saya adalah tanda ' petik
Untuk menghilangkan tanda :
string stripslashes (string str)
Misal:
str="Saya adalah tanda ' petik"
echo stripslashes(str)
//output: Saya adalah tanda ' petik
Juga hindari user input tanda titik koma!
HATI-HATI menggunakan fungsi ini.
Saya sarankan matikan input dari user yang berbentuk karakter2 yang digunakan MySQL!
Bookmark & Share






