Captcha pasti sering anda temukan saat ingin berkomentar atau beregistrasi pada sebuah situs.
Fungsi sebenarnya dari captcha untuk mencegah bot/SPAM/sesuatu yang bukan manusia inputkan.
Nah, Sekarang kita tidak menerapkannya pada website tapi pada Visual Basic.Net
Security kode bisa gunakan untuk sebuah verifikasi data.
Ok, kita mulai saja.
Buat sebuah Form baru. Masukan component PictureBox (1), TextBox (1), Button (1).
lalu susun seperti gambar dibawah ini.
Pada Form1 Declaration tepat dibawah Public Class Form1 masukan Variable berikut
Dim DrawingFont As New Font("Arial", 20) Dim CaptchaImage As New Bitmap(140, 40) Dim CaptchaGraf As Graphics = Graphics.FromImage(CaptchaImage) Dim Alphabet As String = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz" Dim CaptchaString, TickRandom As String Dim ProcessNumber As Integer |
Lalu Kita buat Method baru dengan nama GenerateCaptcha.
Anda tinggal copy kode dibawah ini, dan paste paada Form1 anda. Maka Method akan langsung dibuat secara otomatis.
Klik 2 kali pada button Check. Lalu beri kode dibawah ini.
Klik 2x Form anda. Lalu pada Method Load tambahkan kode dibawah ini yang fungsinya untuk meng-generate Captcha.
Yang Terakhir Pilih TextBox1 dengan Method KeyPress. Lalu masukan kode dibawah ini
Selamat mencoba. Semoga tutorial kali ini berguna dan bermanfaat, terimakasih.
Private Sub GenerateCaptcha() ProcessNumber = My.Computer.Clock.LocalTime.Millisecond If ProcessNumber < 521 Then ProcessNumber = ProcessNumber \ 10 CaptchaString = Alphabet.Substring(ProcessNumber, 1) Else CaptchaString = CStr(My.Computer.Clock.LocalTime.Second \ 6) End If ProcessNumber = My.Computer.Clock.LocalTime.Second If ProcessNumber < 30 Then ProcessNumber = Math.Abs(ProcessNumber - 8) CaptchaString += Alphabet.Substring(ProcessNumber, 1) Else CaptchaString += CStr(My.Computer.Clock.LocalTime.Minute \ 6) End If ProcessNumber = My.Computer.Clock.LocalTime.DayOfYear If ProcessNumber Mod 2 = 0 Then ProcessNumber = ProcessNumber \ 8 CaptchaString += Alphabet.Substring(ProcessNumber, 1) Else CaptchaString += CStr(ProcessNumber \ 37) End If TickRandom = My.Computer.Clock.TickCount.ToString ProcessNumber = Val(TickRandom.Substring(TickRandom.Length - 1, 1)) If ProcessNumber Mod 2 = 0 Then CaptchaString += CStr(ProcessNumber) Else ProcessNumber = Math.Abs(Int(Math.Cos(Val(TickRandom)) * 51)) CaptchaString += Alphabet.Substring(ProcessNumber, 1) End If ProcessNumber = My.Computer.Clock.LocalTime.Hour If ProcessNumber Mod 2 = 0 Then ProcessNumber = Math.Abs(Int(Math.Sin(Val(My.Computer.Clock.LocalTime.Year)) * 51)) CaptchaString += Alphabet.Substring(ProcessNumber, 1) Else CaptchaString += CStr(ProcessNumber \ 3) End If ProcessNumber = My.Computer.Clock.LocalTime.Millisecond If ProcessNumber > 521 Then ProcessNumber = Math.Abs((ProcessNumber \ 10) - 52) CaptchaString += Alphabet.Substring(ProcessNumber, 1) Else CaptchaString += CStr(My.Computer.Clock.LocalTime.Second \ 6) End If CaptchaGraf.Clear(Color.White) For hasher As Integer = 0 To 5 CaptchaGraf.DrawString(CaptchaString.Substring(hasher, 1), DrawingFont, Brushes.Black, hasher * 20 + hasher + ProcessNumber \ 200, (hasher Mod 3) * (ProcessNumber \ 200)) Next PictureBox1.Image = CaptchaImage End Sub |
Klik 2 kali pada button Check. Lalu beri kode dibawah ini.
If TextBox1.Text = "" Then MsgBox("Mohon Masukan Kode Verifikasi", MsgBoxStyle.Information) GenerateCaptcha() ElseIf TextBox1.Text = CaptchaString Then MsgBox("Kode Benar." + Chr(13) + "Coba yang lainya", MsgBoxStyle.Information) TextBox1.Clear() GenerateCaptcha() Else MsgBox("Kode Salah !", MsgBoxStyle.Exclamation) TextBox1.Clear() GenerateCaptcha() End If |
kode diatas akan mengeksikusi inputan yang kita masukan pada InputText nantinya.
Klik 2x Form anda. Lalu pada Method Load tambahkan kode dibawah ini yang fungsinya untuk meng-generate Captcha.
GenerateCaptcha() |
Yang Terakhir Pilih TextBox1 dengan Method KeyPress. Lalu masukan kode dibawah ini
If e.KeyChar = Chr(13) Then Button2.PerformClick() |
Selamat mencoba. Semoga tutorial kali ini berguna dan bermanfaat, terimakasih.
nice your post
BalasHapusJasa Pengiriman Barang