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
>
>
>
>
>
> 
>
> 
>
> 
>
> 
>
> 
>
> 
>
> 
>
>
>
>
>
>
>
>
>



      

Kirim email ke