Dear All, Microsoft .Jet.OLEDB. 4.0;Data Source=C:\DB. mdb;Persist Security Info=False"
untuk menentukan Data Source terkadang saya masih bingung, sebetulnya yang dimasukkan itu nama database yang kita buat atau bagaimana? sebagian lagi ada yang menggunakan kata "Password=xxxxx" Mohon pencerahannya mengenai konsep dasar database connection tersebut. Terima kasih, Salam, Bahar ________________________________ From: Gotman Panggabean <cotman_2...@yahoo.com> To: programmer-vb@yahoogroups.com Sent: Thu, July 15, 2010 1:29:13 PM Subject: Re: [programmer-vb] Membuat Form Password hehe... sip... regards. Cotman --- Pada Rab, 14/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: Rabu, 14 Juli, 2010, 6:11 PM > > > >hehehe...iya ni bisa masuk ternyata..hehe >makasih banyak ni pak gotman atas info nya.. > > > > > > ________________________________ From: Gotman Panggabean <cotman_2005@ yahoo.com> >To: programmer-vb@ yahoogroups. com >Sent: Wed, July 14, 2010 1:26:30 AM >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 <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, 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 >>>>> >>>> >>>> >>>> >>> >>> >>> >>> >>> >>> >>> >> >> > >