Kali ini saya akan memposting cara menyimpan gambar di BLOB mysql yg masih jarang digunakan. Berikut adalah contoh code program menggunakan VB.NET

Step 1 : buat Database dulu di mysql

CREATE TABLE `test`.`users` (
`USERID` varchar(20) NOT NULL default '0',
`USERNAME` varchar(45) NOT NULL default '',
`USEREMAIL` varchar(45) NOT NULL default '',
`USERPHOTO` mediumblob NOT NULL,
`USERDESC` varchar(200) NOT NULL default '',
PRIMARY KEY (`USERID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


Step 2 : Buat Desain Program di VB.NET


Step 3 : Ketikkan code di bawah ini di VB.NET



Imports System.IO
Imports System.Data.OleDb
Imports MySql.Data.MySqlClient


Private curImage As Image = Nothing
Private curFileName As String = Nothing
Private connstring As String = "server=localhost;database=test;uid=root;pwd=root123"
Private savedImageName As String = "C:\\xxx.jpg"


Private Sub btncari_Click()
Dim openDlg As OpenFileDialog = New OpenFileDialog
openDlg.Filter = "All JPEG files|*.jpg"
Dim filter As String = openDlg.Filter
openDlg.Title = "Open a JPEG File"
If (openDlg.ShowDialog() = DialogResult.OK) Then
curFileName = openDlg.FileName
TextBox1.Text = curFileName
End If
End Sub


Private Sub btnsimpan_Click()
If TextBox1.Text Is String.Empty Then
MessageBox.Show("Mencari File Gambar")
Return
End If

Dim fs As FileStream = New FileStream(curFileName, FileMode.OpenOrCreate, FileAccess.Read)
Dim rawData() As Byte = New Byte(fs.Length) {}
fs.Read(rawData, 0, System.Convert.ToInt32(fs.Length))
fs.Close()

Dim sql As String = "SELECT * FROM Users"
Dim conx As MySqlConnection = New MySqlConnection
conx.ConnectionString = connstring

If conx.State <> ConnectionState.Open Then
conx.Open()
End If

Dim adapterx As MySqlDataAdapter = New MySqlDataAdapter(sql, conx)
Dim cmdBuilderx As MySqlCommandBuilder = New MySqlCommandBuilder(adapterx)
Dim ds As DataSet = New DataSet("Users")
adapterx.MissingSchemaAction = MissingSchemaAction.AddWithKey

adapterx.Fill(ds, "Users")
Dim userDes As String = "toekangprogrammer.blogspot.com"
Dim row As DataRow = ds.Tables("Users").NewRow()
row("Userid") = "userx"
row("UserName") = "toekangprogrammer"
row("UserEmail") = "toekangprogrammer@gmail.com"
row("UserDesc") = userDes
row("UserPhoto") = rawData

ds.Tables("Users").Rows.Add(row)

adapterx.Update(ds, "Users")

If conx Is Nothing Then
If conx.State = ConnectionState.Open Then
conx.Close()
End If

conx.Dispose()
End If
MessageBox.Show("Data Tersimpan")
End Sub

Private Sub btnread_Click()

Dim sql As String = "SELECT UserPhoto FROM Users where userid='Userx'"
Dim conx As MySqlConnection = New MySqlConnection
conx.ConnectionString = connstring

If conx.State <> ConnectionState.Open Then
conx.Open()
End If
Dim cmd As MySqlCommand = New MySqlCommand(sql, conx)
Dim fs As FileStream
Dim bw As BinaryWriter
Dim bufferSize As Integer = 300000
Dim outbyte(300000 - 1) As Byte
Dim retval As Long
Dim startIndex As Long = 0
Dim pub_id As String = ""
Dim reader As MySqlDataReader = cmd.ExecuteReader(CommandBehavior.SequentialAccess)

reader.Read()
fs = New FileStream(savedImageName, FileMode.OpenOrCreate, FileAccess.Write)
bw = New BinaryWriter(fs)
startIndex = 0
retval = reader.GetBytes(0, 0, outbyte, 0, bufferSize)
bw.Write(outbyte)
bw.Flush()

bw.Close()
fs.Close()
reader.Close()

curImage = Image.FromFile(savedImageName)
PictureBox1.Image = curImage
PictureBox1.Invalidate()

If conx.State = ConnectionState.Open Then
conx.Close()

conx.Dispose()
End If
End Sub


Step 4 : Selesai sudah tinggal compile dan tekan F5


Semoga bisa membantu.

Jika ada pertanyaan/diskusi tentang masalah program VB.Net bisa email ke : toekangprogrammer@gmail.com

Cara Membuat Password Aman

Sebuah penelitian yang dilakukan Georgia Tech Research Institute di Amerika Serikat banyak orang menggunakan password atau kata kunci yang lemah untuk melindungi akun mereka.

Para pengguna internet yang memiliki rekening bank, kartu kredit, atau mereka yang menyimpan informasi pribadi di akun online kebanyakan mengguanakan kata kunci yang lemah sehingga peretas dapat mengetahui sandi tersebut. Para hacker biasanya menggunakan Graphics cards kemudian dikombinasikan dengan software atau program untuk memecahkan sandi dan berulang kali mencoba kombinasi password yang berbeda-beda sampai ditemukan sandi yang benar.

Menurut penelitian tersebut, para pengguna internet biasanya membuat password yang berisi infomasi pribadi mereka, seperti tanggal lahir, kota asal, nama orang tua, nama pacar dan sebagainya.

Jamie Cowper dari Symantec memberikan saran supaya para penggiat internet menggunakan password yang berbeda-beda untuk berbagai akun yang mereka miliki. "Dan jangan lupa untuk mengubah password secara berkala," katanya.

Selain itu, pengguna juga disarankan membuat kata kunci yang terdiri dari 12 karakter supaya tidak mudah diketahui. "Membuat password pendek berisiko untuk dibobol," katanya. Kata kunci pendek yang dimaksud Cowper adalah sandi yang terdiri dari tujuh karakter atau kurang.

Cowper yang bekerja pada perusahaan yang memproduksi perangkat lunak keamanan internet seperti Norton Anti-Virus, ini juga menyarankan pengguna untuk membuat kombinasi karakter password yang terdiri dari termasuk nomor dan huruf besar atau kecil.

Trik menghindari SQL Injection

SQL Injection adalah salah satu jenis penyerangan yang mengijinkan user tidak sah(penyerang)untuk mengakses database server. Pada dasarnya,serangan ini difasilitasi oleh kode program anda sendiri.
teknik nya,penyerang mencoba memasukkan query (melalui field atau URL) yang akan menyebabkan database server men-generate query SQL yang tidak valid.
Pada kenyataan nya,SQL injection terbukti merupakan salah satu teknik terbaik yang sering
melumpuhkan sasarannya. Begitu penyerang berhasil menguasai kendali dataase server,ia bisa
melakukan apa saja,seperti memodifikasi atau bahkan menghapus semua data yang ada. bagaimana pun juga ,
ini bisa dicegah jika kode program anda melakukan validasi yang baik.
Sebenarnya apa bila anda teliti,teknik SQL injection sangat sederhana sekali. Akan tetapi
justru yang sering diabaikan oleh para programer,entah itu tidak tahu atau lupa.

Berikut ini beberapa contoh teknik SQL injection,implementasi,dan cara menggagalkan nya.

Single SQL Injection
walaupun penyerang awalnya mencoba memasukan query berupa pernyataan SQL,akan tetapi bukan
sembarang query. Dalam hal ini,penyerang cukup memiliki pengatahuan mengenai SQL,sebagai
contoh permulaan (maklumlah saya masih newbie :P) anda memiliki kode seperti ini.

$match = false;
if (isset($_POST['submit'])) {
$nama = $_POST['nama'];
$pass = $_POST['pass'];
$sql = "SELECT nama, password FROM user WHERE
nama='$nama' AND password='$pass'";
$res = mysqli_query($db, $sql);
// jika res berhasil,dan row yang
// dikembalikan=1, set $match=true
if ($res && mysqli_query_rows($res) == 1) {
$match = true ;
mysqli_free_result($res);
}
if ($match === true) {
echo 'account match';
} else {
echo 'invalid account';
}
}


kode program diatas memang kelihatan melakukan verifikasi data, tetapi sebenarnya sangat
rapuh,penyerang bisa menggnakan query-query seperti dibawah ini,untuk melakukan akses
secara tidak sah

// mengisi field nama saja,# adalah komentar,
// yang akan mengabaikan baris setelahnya
admin'#

// mengisi nama field saja
// mengekstrak data kelokasi tertentu
'OR' 1=1 INTO DUMPFILE '/path/ke_lokasi/file.txt '#
'OR' 1=1 INTO OUTFILE '/path/ke_lokasi/file.txt '#

Bagaimapun juga,contoh contoh SQL injection diatas adalah contoh yang umum. Adapun untuk
mencegah nya menggunakan fungsi mysql_real_escape_string () atau addslashes(), seperti
yang diuraikan pada fungsi myMacig()sebelumnya

$nama = myMacig($_POST['nama']};
$pass = myMacig($_POST['pass']};


Multiple SQL injection
Contoh SQL injection lainnya adalah dengan memberikan multiple query,seperti berikut:
// $id dari method GET/POST
$sql = "SELECT * FROM buku WHERE kode='{$id}’ “;
//mengahapus isi table
0; DELETE FROM user
// membuat account baru
0; GRANT ALL ON *.* TO 'xxx@%'
Dalam kasus ini,macig quote akan mengabaikan tanda titik koma,ini sangat membahayakan
jika menggunakan SQLite atau postgreSQL. Adapun solusi nya adalah menggunakan operator
casting untuk memastikan bahwa id harus integer.

//Simulasi nilai $_POST['id']
0; DELETE FROM user
$id = (int) myMacig($_POST['id']);

apabila anda ingin memeriksa apakah input mengandung karakter tertentu,gunakan fungsi strpos().

$nama = myMacig ($_POST ['id']);
// periksa apakah karakter ; terdapat
// di variabel $nama.
if (strpos($nama, ';' die ('Naughty Naughty,
Very Naughty...');

Kevin Mitnick Legenda Hacker


Kevin mitnick adalah pemuda kelahiran Amerika, agustus 1963, pemuda ini biasa dikenal sebagai hacker legendaris. Keluarga kevin bukanlah orang berada, sehingga mengenal komputer dan memperoleh kemampuannya di toko radioshack dan perpustakaan umum tempat dia biasa menghabiskan waktu. Tapi cerita awal seorang kevin mitnick bukanlah cerita baik-baik, pada umur 17 tahun Kevin sudah mulai merasakan dinginnya teralis besi akibat melakukan hacking pada komputer COSMOS (Computer System Mainstrem Operation) milik perusahaan telepon Pasific Bell di Los Angeles, yang merupakan sentral database telepon Amerika.


Dipenjara tidak membuat The Condor ini [ID yang digunakan kevin mitnick] jera. Kemudian pada tahun 1983 dia dituduh membobol sistem keamanan PENTAGON menggunakan ARPANet melalui terminal kampus USC, dan lagi-lagi condor harus merasakan dinginnya dinding penjara.

Setelah bebas, kevin mencari kehidupan lain dan menghilang dari dunia hacker. Tapi hal tersebut tidak berlangsung lama, karena pada tahun 1987 dia lagi-lagi harus berurusan dengan pihak berwajib. Dia dituduh menyusup perusahaan Santa Cruz Organization, perusahaan software yang bergerak di sistem operasi unix.
Pada kasus ini The condor mendapat dakwaan melakukan tindakan yang kurang baik dan kembali masuk bui selama 3 tahun. Setelah bebas, kebiasaan mitnick kembali terulang dan berurusan dengan pihak berwajib akibat melakukan pembobolan dan pembajakan software milik Digital Equipment Corporation yaitu Sistem Operasi VMS.
Pada kasus ini mitnick tidak melakukannya sendiri, ia “duet” dengan temannya Lenny Cicicco dan diganjar hukuman penjara selama 1 tahun serta mendapat sebutan dari pengacaranya ‘kecanduan pada komputer yang tidak bisa dihentikan’.
Setelah bebas, mitnick kembali mencoba mejalani hidup normal dan bekerja disalah satu perusahaan mailing list di Las Vegas. Tapi saat bekerja di perusahaan tersebut, oleh FBI mitnick dicurigai mengacak-acak sistem komputer Tel Tec Detective, yang merupakan perusahaan tempat mitnick bekerja. Dan akhirnya membuat The Condor kembali menjadi The Most Wanted Hacker atau buronan nomor 1 FBI.
Mitnick harus menjalani kehidupan nomaden, berpindah dari satu kota ke kota lain, dan selama menjadi buronan tersebut mitnick membobol beberapa perusahaan seperti Fujitsu, Motorola, Nokia, dan Sun Microsystems. Pada Februari tahun 1995 langkah mitnick terhenti oleh FBI, semua itu akibat usaha FBI dan bantuan seorang hacker yang juga merupakan korban The Condor, yaitu Tsutomu Shimomura.
Mitnick tertangkap akibat keteledorannya memakai Layanan penyimpanan dari rekening seseorang yang dibobolnya dan layanan tersebut menginformasikan kepada pemilik rekening bahwa rekeningnya sudah over quota. Sebelum ditangkap, mitnick sedang melacak balik orang yang sedang mengejarnya, tapi pada saat yang bersamaan FBI menjadi “tamu” tak diundang di rumah pelarian mitnick.

Selain menjadi FBI Most Wanted, mitnick juga diberi gelar oleh The Discovery gelar “Hall of Fame of Hacker“, karena selain menjadi Software Hacker dia juga dikenal sebagai Hardware Hacker. Dan juga mitnick memiliki kemampuan Social Engineering yang bagus, sehingga dia berhasil mengibuli korban-korbannya. Selama 4 tahun mitnick di penjara, tanpa kepastian hukum, tanpa pengajuan ke pengadilan, namun tiba-tiba saja pada tahun 2000 mitnick bebas secara bersyarat, dengan catatan dilarang memegang komputer.
Setelah 2 tahun pembebasan mitnick, barulah ia diperbolehkan menggunakan komputer namun tanpa jaringan internet. Dan setahun sesudahnya setelah itu yaitu pada tahun 2003 barulah diperbolehkan menggunakan akses internet untuk pertama kalinya sejak dia dipenjara.
Saat ini mitnick sudah menjalani kehidupan normal, ia menerbitkan buku tentang keamanan dan buku tersebut sontak laris dipasaran. Ia juga mendirikan perusahaan konsultan security di situs kevinmitnick.com.