maaf mas frangky, apa di table tbluser sudah dimasukkin data username dan 
passwordnya..? Minimal ada satu row data.

yang kedua. apakah .?

 strLogin = Replace(txtUsername .Text, "'", "''")
 strPaswd = Replace(txtPassword .Text, "'", "''")


sudah diganti menjadi code ini:

 strLogin = txtUsername.Text
 strPaswd = txtPassword.Text

seharusnya sudah bisa klo hal diatas sudah dilakukan ...!


regards.
Cotman 


--- Pada Sab, 17/7/10, Frangky Bunga <[email protected]> menulis:

Dari: Frangky Bunga <[email protected]>
Judul: RE: [programmer-vb] Membuat Form Password
Kepada: [email protected]
Tanggal: Sabtu, 17 Juli, 2010, 6:19 PM







 



  


    
      
      
      rs.Open "SELECT * FROM tbUser where Nama = '" & txtNama.Text & "' and

Pass='" & Encrypt(txtPass) & "'", cnn, adOpenForwardOnly, adLockOptimistic



-----Original Message-----

From: [email protected] [mailto:[email protected]]

On Behalf Of Anez Story

Sent: 18 Juli 2010 0:38

To: [email protected]

Subject: RE: [programmer-vb] Membuat Form Password



Boleh dikirim form login+database nya pak franky..

kl dibuat sesuai coding pak gotman,saya coba bisa login..



On Sat Jul 17th, 2010 10:44 AM EDT Frangky Bunga wrote:



>Pak Gotman, saya coba masukkan ' or 1=1 or ' pada textbox, ga bisa login

tuh.

>

> 

>

>From: [email protected] [mailto:[email protected]]

On Behalf Of Gotman Panggabean

>Sent: 14 Juli 2010 16:27

>To: [email protected]

>Subject: Re: [programmer-vb] Membuat Form Password

>

> 

>

>

>

>

>

>

>

>hehehe... maaf saya lupa kalau code dibawah,  saya sudah menggunakan fungsi

"replace" untuk menghindari sql injection, kemungkinan kecil untuk diinject

walau masih bisa sepertinya.

>pada code : 

>

>    strLogin = Replace(txtUsername .Text, "'", "''")

>    strPaswd = Replace(txtPassword .Text, "'", "''")

>

>nah jika code diatas diganti menjadi 

>

>    strLogin = txtUsername.Text

>    strPaswd = txtPassword.Text

>

>tanpa ada nya fungsi "replace"

>nah hal ini akan sangat mudah untuk diinject.

>

>yang saya maksud pada :

>

>'Mudah untuk di inject maka hindari langkah ini   

>'Set rst = cnn.Execute( "Select * from tblUser where username='" & strLogin

& "' and password='" & strPaswd & "'")

>

>pada kondisi dimana tidak menggunakan fungsi "Replace"

>

>jika masih tidak percaya silakan rancang form-nya dan dicoba.

>pada saat dirun.kemudian masukkan/ketik pada textbox txtusername :

>

>' or 1=1 or '

>

>Nah apa yang terjadi : langsung masuk ke dalam frmMain..! 

>

>masuk yah..?

>masuk kan..?

>iya kan .?

>iya donk...!

>

>hehe... canda...

>

>tetapi kalau menggunakan Object command semua sql syntaxnya dianggab

sebagai string sehingga tanpa perintah "Replace" akan tetep aman. (AMAN dari

Sql Injection)

>

>Semoga Membantu.

>

>Regards,

>Cotman

>I'm not good enough, Tell me if there're many mistake of the code above.

>

>

>--- Pada Sel, 13/7/10, Anez Story <[email protected]> menulis:

>

>

>Dari: Anez Story <[email protected]>

>Judul: Re: [programmer-vb] Membuat Form Password

>Kepada: [email protected]

>Tanggal: Selasa, 13 Juli, 2010, 10:10 PM

>

>  

>

>dear gotman panggabean,

>

>'Mudah untuk di inject maka hindari langkah ini   

>'Set rst = cnn.Execute( "Select * from tblUser where username='" & strLogin

& "' and password='" & strPaswd & "'")

>

>hmm..saya biasa pakai coding diatas untuk membuat form login..

>kalau boleh tau cara user untuk membobol nya bagaimana ya?

>

>best regrads,

>

>

>story

>

> 

>

>  _____  

>

>From: Gotman Panggabean <cotman_2005@ yahoo.com>

>To: programmer-vb@ yahoogroups. com

>Sent: Tue, July 13, 2010 7:14:39 PM

>Subject: Re: [programmer- vb] Membuat Form Password

>

>  

>

>

>materinya lumayan menarik...

>mencoba ikut membahas...

>

>nah untuk menghindari Sql Injection di VB gunakan object command untuk

membungkus syntax sql ini biasa saya gunakan. Perhatikan code dibawah ini.

>

>Asumsi : 

>Database : Ms. Access (Apa saja databasenya. .. hanya melakukan perubahan

pada connection string nya saja)

>Table : tblUser(Field : Username dan Password)

>Code nya adalah : 

>

>Private Sub Command1_Click( )

>    Dim cnn As New ADODB.Connection

>    Dim strLogin As String, strPaswd As String

>    cnn.CursorLocation = adUseClient

>    cnn.Open "Provider=Microsoft .Jet.OLEDB. 4.0;Data Source=C:\DB.

mdb;Persist Security Info=False"

>    

>    strLogin = Replace(txtUsername .Text, "'", "''")

>    strPaswd = Replace(txtPassword .Text, "'", "''")

>    

>    Dim rst As New ADODB.Recordset

>

>'Mudah untuk di inject maka hindari langkah ini   

>'Set rst = cnn.Execute( "Select * from tblUser where username='" & strLogin

& "' and password='" & strPaswd & "'")

>    

>

>    'Solusinya gunakan object command

>    Dim ocmd As New ADODB.Command   

>    ocmd.ActiveConnecti on = cnn

>    ocmd.CommandType = adCmdText

>    'Gunakan parameter disini :

>    ocmd.CommandText = "Select * from tblUser where username=? and

password=?"

>    

>    'Isi nilai parameternya    

>    ocmd.Parameters( 0).Value = strLogin

>    ocmd.Parameters( 1).Value = strPaswd

>    'ocmd.Execute

>    

>    'set recordsetnya dari object command

>    Set rst = ocmd.Execute( )

>    

>    If rst.RecordCount > 0 Then

>       frmMain.Show

>       frmMain.Caption = "Welcome - " & txtUsername. Text

>       frmLogin.Hide

>    Else

>       MsgBox "Invalid Username or password !", vbCritical, "Warn"

>       txtPassword. Text = ""

>       txtPassword. SetFocus

>    End If

>    

>End Sub

>

>

>

>Hasilnya bebas dari Sql injection.

>Semoga Membantu.

>

>

>Regards.

>Cotman.

>

>

>

>

>--- Pada Sel, 13/7/10, Anez Story <anez_st...@yahoo. com> menulis:

>

>

>Dari: Anez Story <anez_st...@yahoo. com>

>Judul: Re: [programmer- vb] Membuat Form Password

>Kepada: programmer-vb@ yahoogroups. com

>Tanggal: Selasa, 13 Juli, 2010, 5:58 PM

>

>  

>

>dear johan max,

>

>weleh2..bahasanya tinggi sekali..hehe

>oo..pake stored procedure ya..

>ntu stored procedure bawaan sql server ato kt buat lagi?

>kalau bawaan sql server, stored procedure yang mana?

>maklum saya belum pernah pakai stored procedure sebelumnya.. .

>

>best regrads,

>

>

>story

>

> 

>

>  _____  

>

>From: johan max <johans...@yahoo. com>

>To: programmer-vb@ yahoogroups. com

>Sent: Tue, July 13, 2010 3:12:46 AM

>Subject: Re: [programmer- vb] Membuat Form Password

>

>  

>

>Cara yang bener seharusnya 

>a. memanggil stored procedure

>

>b. menggunakan parameter

>jadi dihindari proses akses ke table langsung.

>

>TDD = test driven development.

>Layering= pemisahan tanggung jawab yang jelas antara tiap komponen.

>Ada komponen ui, bisnis, data, data akses.

>Dengan dibagi-bagi seperti ini maka :

>1. pengetesannya mudah

>2. akan mengikuti perinsip solid 

>3. mengurangi dependency

>4. team work akan sangat berjalan

>5. memudahkan code review dan inspection karena menurunkan derajat

>cylocmatic complecity, loc dan maintenance complecity.

>

>

>

>  _____  

>

>From: Anez Story <anez_st...@yahoo. com>

>To: programmer-vb@ yahoogroups. com

>Sent: Tue, July 13, 2010 4:29:41 PM

>Subject: Re: [programmer- vb] Membuat Form Password

>

>  

>

>dear johan max,

>

>oow..bahaya jg ya..

>jd user lain bisa langsung akses database kt..

>jd cara yang benar bagaimana pak johan?

>btw ttd dan layering tuh apa ya?

>

>best regrads,

>

>story

>

> 

>

>  _____  

>

>From: johan max <johans...@yahoo. com>

>To: programmer-vb@ yahoogroups. com

>Sent: Tue, July 13, 2010 1:51:05 AM

>Subject: Re: [programmer- vb] Membuat Form Password

>

>  

>

>SQL injection itu adalah sebuah teknik untuk menginjeksi sebuah string

query ke sebuah perintah query. Biasanya digunakan hacker untuk mendapatkan

hak akses.

>

>Contoh

>

>ini query yang berbahaya :

>select *from <nama_tabel> where username=" & username_txt. text

> jika username_txt. txt memuat isi 1 or 1=1 maka perintah querynya akan 

>menjadi select * from <namatable> where username =1 or 1=1

>yang hasilnya akan selalu benar sehingga hacker dapat memperoleh hak akses

kesana.

>

>Alternatif lain adalah menggunakan tanda ;

>jika username_txt. text berisi 1;select * from user;

>ada kemungkinan sqlnya error karena tidak ada tabel user.

>Dari situ dapat diketahui ada tabel apa yang ada di database.

>

>bagaimana kalo username_txt. textnya berisi 1;delete * from penjualan

>Maut kan.

>Terakhir cara di atas tidak mendukung tdd dan layering.

>

>Kelemahan lain adalah sangat bergantung pada settingan collation database.

>Ini membuat untuk validasi user bermasalah.

>

>  _____  

>

>From: Anez Story <anez_st...@yahoo. com>

>To: programmer-vb@ yahoogroups. com

>Sent: Tue, July 13, 2010 7:53:26 AM

>Subject: Re: [programmer- vb] Membuat Form Password

>

>  

>

>dear johan,

>

>sql injection tuh apa ya?

>bahaya nya gimana?

>

>best regrads,

>

>story

>

> 

>

> 

>

>  _____  

>

>From: johan max <johans...@yahoo. com>

>To: programmer-vb@ yahoogroups. com

>Sent: Mon, July 12, 2010 1:29:05 AM

>Subject: Re: [programmer- vb] Membuat Form Password

>

>  

>

>Wah kalian ini tidak tahu sql injection ya. Kode di bawah gampang banget

diinject dengan sql injection. Bahaya tuch. 

>Nggak boleh ada concatenasi string di query harus pake parameter..

>

> 

>

> 

>

>  _____  

>

>From: Frangky id <franklin.id@ gmail.com>

>To: programmer-vb@ yahoogroups. com

>Sent: Mon, July 12, 2010 3:10:01 PM

>Subject: Re: [programmer- vb] Membuat Form Password

>

>  

>

>Kalau metode searching WHere-nya hanya username, kemungkinan kalau Password

yang diinput salahpun, pasti diterima.

>

>Pada 12 Juli 2010 12:23, Yusuf Afandi <cr_4...@yahoo. com> menulis:

>

> 

>

>coba masukkan ke database. buat database yang isinya username dan password.

kalo mau diganti tinggal di searching username nya trus password nya diganti

. bener kata mas ado.

>kalo pake mysql searching bisa pake listing ini :

>

>"select *from <nama_tabel> where username=" & username_txt. text

>

>mas ado mas bahar salam kenal.... 

>best regrads..... .........

>ucup a.

>

> 

>

>  _____  

>

>From: Edwar Rinaldo <a...@gramediapublish ers.com>

>To: programmer-vb@ yahoogroups. com

>Sent: Wed, May 11, 2011 10:28:55 AM

>Subject: Re: [programmer- vb] Membuat Form Password

>

>  

>

>coba jawab yah mas, 

>

> 

>

>mungkin bisa docoba cara berikut mas, ketika user login, simpan username

dan password di global variabel mas, jadi jika user ingin mengganti password

nya mas bisa gunakan where nya username, tapi username nya kudu unique yah

mas.

>

> 

>

> 

>

>Regards Ado

>

> 

>

> 

>

>----- Original Message ----- 

>

>From: Aceng Baharudin 

>

>To: programmer-vb@ yahoogroups. com 

>

>Sent: Wednesday, June 16, 2010 9:18 AM

>

>Subject: [programmer- vb] Membuat Form Password

>

> 

>

>  

>

>Dear All,

>

> 

>

>Maaf mau minta bantuan kepada semua Senior yang ada di Millis ini.

>

>Saya mohon bantuannya untuk memberikan solusi dalam membuat Form Login yang

isinya Username dan Password. akan tetapi Passwordnya bisa diganti apabila

di kemudian hari User ingin mengganti Passwordnya.

>

> 

>

>Mohon pencerahan untuk code-code nya! 

>

>sebab saya hanya baru tahu password yang sifatnya statis, hanya satu kali

saja dan tidak bisa diganti-ganti.

>

> 

>

>Terima kasih atas perhatian dan bantuannya.

>

> 

>

>Salam,

>

>Bahar

>

> 

>

>

>.:: Group of Book Publishing - Kompas Gramedia

>

>

>

>

>

> 

>

> 

>

> 

>

> 

>

> 

>

> 

>

> 

>

>

>

>

>

>

>

>

>



------------------------------------



Wahana Programmer Groups Links





    
     

    
    


 



  





Kirim email ke