Mencegah SQL Injection Visual Basic

Posted on
Cara Mencegah Serta Mengatasi SQL Injection di Program Visualbasic .Net

Setelah kemarin kita berhasil membuat form login atau menu login, sekarang kita akan membuat sistem keamanan untuk membuat orang yang tidak bertanggung jawab memasukkan Query Injection dan masuk pada program yang kita buat.Lalu sebenarnya apakah SQL Injection itu?? Apa fungsinya?? dan Bagaimana cara kerjanya?? dan yang terpenting Bagaimana Cara Mengatasinya?? Berikut ini akan saya jelaskan sedikit mengenai apa itu SQL Injection.

Artikel Lain: Membuat Menu Login Visual Basic

Menurut saya SQL Injection adalah perintah SQL yang dimaksudkan untuk memanipulasi Perintah SQL itu sendiri, Cara kerjanya adalah tergantung dari program yang kita buat, jika menggunakan Visualbasic .Net bisa melalui tanda (‘,”,&) hanya dengan menggunakan tiga tanda itu, orang yang tidak bertanggung jawab akan dapat masuk program kita tanpa ijin.

Lalu bagaimana mencegahnya?? Berikut akan dijelaskan bagaimana cara mencegah dan mengatasi SQL Injection pada Program Visualbasic .Net kita.

Untuk membuatnya silakan ikuti langkah-langkah berikut ini:

1. Disini Saya umpamakan Anda mempunyai Script atau Kode login dibawah ini, Jika belum Anda dapat membaca artikel Cara membuat menu login.

Try
Dim DA As OleDb.OleDbDataAdapter
DA = New OleDb.OleDbDataAdapter(“SELECT * from inavb where username= ‘” & Me.TUSERNAME.Text & “‘ AND password=‘” & Me.TPASSWORD.Text & “‘“, koneksidata.pencarian)
Dim DT1 As New DataTable
DT1.Clear()
DA.Fill(DT1)
If DT1.Rows.Count = Nothing Then
MsgBox(“Username atau Password Salah !!”, MsgBoxStyle.Critical, “Message !!”)
Me.TPASSWORD.Text = “”
Me.TUSERNAME.Text = “”
Me.TPASSWORD.Focus()
Else
Me.Hide()
FORM_LOADING.Show()
myconnection.close()
End If
Catch ex As Exception
MsgBox(“CEK KEMBALI DATA ADA YANG SALAH !!”, MsgBoxStyle.Critical, “Message !!”)
End Try

2. Yang saya tandai merah adalah Script kita secara keseluruhan, dan yang saya tandai biru adalah perintah SQL yang dapat dimanipulasi atau di injeksi, inilah yang akan kita perbaiki agar scriptnya aman.

3. Orang dapat masuk melalui program kita tanpa ijin dengan memanipulasi bagian perintah ini: where username= ‘” & Me.TUSERNAME.Text & “‘ AND password='” & Me.TPASSWORD.Text & “‘.

4. Mereka dapat memanipulasi perintah SQL itu seperti ini, contoh terdapat dua Textbox [TUSERNAME dan TPASSWORD].

5. Program yang tidak memperhatikan masalah serius ini, bisa dimanipulasi atau dimasuki orang tanpa ijin dengan TUSERNAME diisi: [soni] dan TPASSWORD diisi [inavb&”‘or'”&com].

6. Seperti itu kira-kira SQL Injection yang terjadi pada program yang lemah, lalu bagaimana Cara mengatasinya??

7. Ubah script atau kode login Anda seperti ini:

Try
Dim DA As OleDb.OleDbDataAdapter
DA = New OleDb.OleDbDataAdapter(“SELECT * from inavb where username= ‘” & Replace(Me.TUSERNAME.Text, “‘”, “””) & “‘ AND password=‘” & Replace(Me.TPASSWORD.Text, “‘”, “””) & “‘“, koneksidata.pencarian)
Dim DT1 As New DataTable
DT1.Clear()
DA.Fill(DT1)
If DT1.Rows.Count = Nothing Then
MsgBox(“Username atau Password Salah !!”, MsgBoxStyle.Critical, “Message !!”)
Me.TPASSWORD.Text = “”
Me.TUSERNAME.Text = “”
Me.TPASSWORD.Focus()
Else
Me.Hide()
FORM_LOADING.Show()
myconnection.close()
End If
Catch ex As Exception
MsgBox(“CEK KEMBALI DATA ADA YANG SALAH !!”, MsgBoxStyle.Critical, “Message !!”)
End Try

8. Terus perbedaannya dimana?? Itu dia perhatikan baik-baik pada penulisan [Replace(Me.TUSERNAME.Text, “‘”, “””)] dan [password='” & Replace(Me.TPASSWORD.Text, “‘”, “””)].

9. Ya, benar sekali disitu terdapat Replace dan Flag, dalam dunia pemrograman script ini berfungsi mengganti karakter yang tidak kita inginkan dengan karakter atau string yang kita inginkan.

10. Dalam hal ini pada script [Replace(Me.TUSERNAME.Text, “‘”, “””)] Kita mengganti tanda “” dengan tanda ““, tanda “” inilah yang digunakan orang yang tidak bertanggung jawab memasuki Program kita tanpa ijin.

11. Anda juga bisa mengganti tanda “” dengan tanda yang Anda inginkan, inilah yang disebut Flag.

12. Sudah mengerti bukan Cara Mengatasi dan Mencegah SQL Injection pada Program Visualbasic .Net??

13. Semoga tutorial dan Video ini bermanfaat buat Anda terutama para Programmer. Jangan lupa selalu melihat Video tutorialnya agar tidak bingung. Salam iNaVBers.

Download Video
Download Code

 

5 thoughts on “Mencegah SQL Injection Visual Basic

Leave a Reply

Your email address will not be published. Required fields are marked *