Lompat ke konten Lompat ke sidebar Lompat ke footer

Cara Membuat Form Login Yang Aman (Secure From SQL Injection) VB6/VBNET

Secara singkat sql injection adalah menambahkan perintah sql query melalui input box (textbox, combobox, dll) dengan tujuan untuk memodifikasi sql query yang sudah ada atau menciptakan sql query baru. Biasanya orang yang baru belajar programming sering mengabaikan masalah security ini, contoh kasus:
Sintak/sql quer untuk Login biasanya seperti ini :

"SELECT USER_ID, PASSWORD FROM MS_USER WHERE USER_ID='" + Txt_User.Text + "' AND PASSWORD='" + Txt_Pass.Text + "'"

Nah jika user/operator menginputkan pada Txt_User dan Txt_Pass seperti ini : ' OR '1'='1
Maka setelah aplikasi/program Run, sintak/sql query tersebut akan berubah menjadi seperti ini :

"SELECT USER_ID, PASSWORD FROM MS_USER WHERE USER_ID='' OR '1'='1' AND PASSWORD='' OR '1'='1'"
Dan ini akan menghasilkan nilai TRUE, sehingga user (anonymous) akan dapat masuk sesuka hati tanpa harus tahu user id dan password-nya.

Ada beberapa solusi untuk mengatasi masalah ini, diantaranya adalah :
  1. Menghilangkan (Replace) karakter kutip satu (') dengan karakter kosong, contoh :
    Txt_User.Text.Replace("'", "")
  2. Memendekan MaxLength TextBox sesuai dengan field database, contoh jika di table field User_Id = Varchar(10), maka Txt_User pun harus MaxLenght=10 juga agar user tidak bebas/kepanjangan menginput sesuatu/apapun pada textbox tersebut.
  3. Mengubah sintak/sqlquery menjadi seperti ini :
"SELECT USER_ID, PASSWORD FROM MS_USER WHERE USER_ID='" + Txt_User.Text.Replace("'", "") + "'"
'...sintak anda untuk mengecek keberadaan user, Jika User Ada Maka Cek Password, Contoh :
IFreader.Item("PASSWORD") = Txt_Pass.Text.Replace("'", "") Then
    '...sintak anda jika login SUKSES
Else
    '...sintak anda jika login GAGAL
End IF
3 cara diatas adalah sebagian dari banyak cara yang dapat anda lakukan untuk mencegah terjadinya sql injection dari tangan tangan yang jahil dan tidak bertanggung jawab. Semoga artikel saya ini bermanfat ntuk anda. Terimakasih.

Tags:
sql injection example, cara membobol form login vb, cara membuat form login yang aman, security pada form login visual basic, Coding techniques for protecting against Sql injection, Preventing SQL Injection in vbnet, Validating User Input - SQL Injection Attacks in VB.NET, mengurangi kelemahan dari form login (swl injection), cara memjebol baypass user id dan password pada form login logon vb, masuk ke aplikasi tanpa login database, cara membuat login user yang aman, user trustee pada form login,Proteksi awal terhadap SQL injection, How To Sql Injection Visual Basic, Anti SQL Injection, Teknik coding untuk perlindungan terhadap SQL Injection



Posting Komentar untuk "Cara Membuat Form Login Yang Aman (Secure From SQL Injection) VB6/VBNET"