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




    
     








      








    
    











    
     














      

    
     








      

    
     








      

    
     








      

    
     








      

    
     








      

    
     



 





    
     








      

    
     



 





    
     








      

    
     

    
    


 



  





Kirim email ke