{"id":2429,"date":"2013-01-10T12:46:09","date_gmt":"2013-01-10T16:46:09","guid":{"rendered":"http:\/\/www.iowawebnet.com\/ein\/?p=2429"},"modified":"2013-01-17T12:57:32","modified_gmt":"2013-01-17T16:57:32","slug":"captcha-vb-net","status":"publish","type":"post","link":"https:\/\/www.iowawebnet.com\/ein\/2013\/01\/captcha-vb-net\/","title":{"rendered":"Captcha &#8211; VB.NET"},"content":{"rendered":"<pre>\r\nEmail form\r\n<code>\r\n&lt;tr>\r\n  &lt;td>&lt;\/td>\r\n  &lt;td>&lt;\/td>\r\n&lt;\/tr>\r\n&lt;tr>\r\n  &lt;td>&lt;\/td>\r\n  &lt;td>&lt;img style=\"WIDTH: 119px; HEIGHT: 34px\" alt=\"\" src=\"Captcha.aspx\" \/>&nbsp;\r\n&lt;a href=\"\">Can't Read?&lt;\/a>&lt;\/td>\r\n&lt;\/tr>\r\n&lt;tr>\r\n   &lt;td>&lt;\/td>\r\n   &lt;td>&lt;asp:textbox runat=\"server\" ID=\"txtcaptcha\">&lt;\/asp:textbox>&lt;\/td>\r\n&lt;\/tr>  \r\n&lt;tr>\r\n    &lt;td>&lt;\/td>\r\n     &lt;asp:ImageButton ID=\"ContactSeller\" CausesValidation=\"True\" runat=\"server\" \r\n     ImageURL=\"\/images\/buttons\/btn_submit.gif\" \/>&lt;\/td>\r\n&lt;\/tr>    \r\n<\/code>\r\nEmail page code behind\r\n<code>\r\n....\r\n Dim captchaStr As String = Session(\"randomStr\")\r\n Dim captchaTxt As TextBox = ContactSeller.FindControl(\"txtcaptcha\")\r\n\r\nIf captchaStr <> captchaTxt.Text.ToString Then\r\n   MsgCheck.Text = \"&lt;span style='color: red; font-weight: bold;'>\r\n   Incorrect captcha.&lt;\/span>\"\r\nElse\r\n...\r\n'your email code\r\nEnd If\r\n<\/code>\r\nCaptcha markup page\r\n<code>\r\n&lt;%@ Page Language=\"VB\" AutoEventWireup=\"false\" CodeFile=\"Captcha.aspx.vb\" \r\nInherits=\"Captcha\"%>\r\n&lt;!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD XHTML 1.0 \r\n    Transitional\/\/EN\"\"http:\/\/www.w3.org\/TR\/xhtml1\/DTD\/xhtml1-transitional.dtd\">\r\n&lt;html xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\r\n&lt;head runat=\"server\">\r\n    &lt;title>Captcha &lt;\/title>\r\n&lt;\/head>\r\n\r\n&lt;body>\r\n    &lt;form id=\"form1\" runat=\"server\">\r\n    &lt;div>  \r\n&lt;\/div>\r\n    \r\n&lt;\/body>\r\n&lt;\/html>\r\n<\/code>\r\n\r\nCaptcha code behind\r\n<code>\r\nImports System.Drawing\r\nImports System.Drawing.Imaging\r\nImports System.Drawing.Text\r\nPartial Class Captcha\r\n    Inherits System.Web.UI.Page\r\n    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) \r\n                                                    Handles Me.Load\r\n        'create object of Bitmap Class and set its width and height.\r\n        Dim objBMP As Bitmap = New Bitmap(180, 51)\r\n        'Create Graphics object and assign bitmap object to graphics' object.\r\n        Dim objGraphics As Graphics = Graphics.FromImage(objBMP)\r\n        objGraphics.Clear(Color.OrangeRed)\r\n        objGraphics.TextRenderingHint = TextRenderingHint.AntiAlias\r\n        Dim objFont As Font = New Font(\"arial\", 30, FontStyle.Regular)\r\n        'genetating random 6 digit random number\r\n        Dim randomStr As String = GeneratePassword()\r\n        'set this random number in session\r\n        Session.Add(\"randomStr\", randomStr)\r\n        objGraphics.DrawString(randomStr, objFont, Brushes.White, 2, 2)\r\n        Response.ContentType = \"image\/GIF\"\r\n        objBMP.Save(Response.OutputStream, ImageFormat.Gif)\r\n        objFont.Dispose()\r\n        objGraphics.Dispose()\r\n        objBMP.Dispose()\r\n    End Sub\r\n    Public Function GeneratePassword() As String\r\n    'Below code describes how to create random numbers.some of the digits and letters\r\n    'are ommited because they look same like \"i\",\"o\",\"1\",\"0\",\"I\",\"O\".\r\n        Dim allowedChars As String = \"a,b,c,d,e,f,g,h,j,k,m,n,p,q,r,s,t,u,v,w,x,y,z,\"\r\n        allowedChars += \"A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,T,U,V,W,X,Y,Z,\"\r\n        allowedChars += \"2,3,4,5,6,7,8,9\"\r\n        Dim sep() As Char = {\",\"c}\r\n        Dim arr() As String = allowedChars.Split(sep)\r\n        Dim passwordString As String = \"\"\r\n        Dim temp As String\r\n        Dim rand As Random = New Random()\r\n        Dim i As Integer\r\n        For i = 0 To 6 - 1 Step i + 1\r\n            temp = arr(rand.Next(0, arr.Length))\r\n            passwordString += temp\r\n        Next\r\n        Return passwordString\r\n    End Function\r\nEnd Class\r\n<\/code>\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Email form &lt;tr> &lt;td>&lt;\/td> &lt;td>&lt;\/td> &lt;\/tr> &lt;tr> &lt;td>&lt;\/td> &lt;td>&lt;img style=&#8221;WIDTH: 119px; HEIGHT: 34px&#8221; alt=&#8221;&#8221; src=&#8221;Captcha.aspx&#8221; \/>&nbsp; &lt;a href=&#8221;&#8221;>Can&#8217;t Read?&lt;\/a>&lt;\/td> &lt;\/tr> &lt;tr> &lt;td>&lt;\/td> &lt;td>&lt;asp:textbox runat=&#8221;server&#8221; ID=&#8221;txtcaptcha&#8221;>&lt;\/asp:textbox>&lt;\/td> &lt;\/tr> &lt;tr> &lt;td>&lt;\/td> &lt;asp:ImageButton ID=&#8221;ContactSeller&#8221; CausesValidation=&#8221;True&#8221; runat=&#8221;server&#8221; ImageURL=&#8221;\/images\/buttons\/btn_submit.gif&#8221; \/>&lt;\/td> &lt;\/tr> Email page code behind &#8230;. Dim captchaStr As String = Session(&#8220;randomStr&#8221;) Dim captchaTxt As TextBox = ContactSeller.FindControl(&#8220;txtcaptcha&#8221;) If captchaStr captchaTxt.Text.ToString [&hellip;]<\/p>\n","protected":false},"author":35,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[85,17,16,52,56,84],"tags":[19,128,27],"class_list":["post-2429","post","type-post","status-publish","format-standard","hentry","category-net-4-0","category-applications","category-net","category-controls","category-validation-controls","category-vs2010","tag-asp-net","tag-captcha","tag-form-validation"],"_links":{"self":[{"href":"https:\/\/www.iowawebnet.com\/ein\/wp-json\/wp\/v2\/posts\/2429"}],"collection":[{"href":"https:\/\/www.iowawebnet.com\/ein\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iowawebnet.com\/ein\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iowawebnet.com\/ein\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iowawebnet.com\/ein\/wp-json\/wp\/v2\/comments?post=2429"}],"version-history":[{"count":8,"href":"https:\/\/www.iowawebnet.com\/ein\/wp-json\/wp\/v2\/posts\/2429\/revisions"}],"predecessor-version":[{"id":2446,"href":"https:\/\/www.iowawebnet.com\/ein\/wp-json\/wp\/v2\/posts\/2429\/revisions\/2446"}],"wp:attachment":[{"href":"https:\/\/www.iowawebnet.com\/ein\/wp-json\/wp\/v2\/media?parent=2429"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iowawebnet.com\/ein\/wp-json\/wp\/v2\/categories?post=2429"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iowawebnet.com\/ein\/wp-json\/wp\/v2\/tags?post=2429"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}