Let’s say you create a web site, and you want to add recaptcha to the aspx page where clients can sign up for an account. Instead of a custom sign up form, you instead use Microsoft’s CreateUserWizard control. I’ll explain how you can use both the CreateUserWizard and recpatcha controls effectively.
First, go to the recpatcha web site, follow the online instructions to create an account and retrieve your public and private keys, then download the recpatcha dll library and place them in your bin folder of your web site project. Next, add a reference to the Recaptcha.dll
http://www.google.com/recaptcha
On the same aspx page that hosts the CreateUserWizard, enter the following in the source for the recaptcha control.
<recaptcha:RecaptchaControlID="recaptcha"runat="server"PublicKey="your public key" PrivateKey="your private key"Theme="clean"/>
Since you will not be using a submit button for your recaptcha control, you will instead validate the text entered in the recpatcha control on the server side within your CreateUserWizard_CreatingUser event as follows:
If Page.IsPostBack Then recaptcha.Validate() If recaptcha.IsValid = False Then e.Cancel = True lblResult.Text = "Text does not match RECAPTCHA. Please try again." End If Else lblResult.Text = String.Empty lblResult.Visible = True End If
Note: recaptcha.Validate() is a method within the recaptcha.dll that will compare the text entered and the text image. If the recaptcha.isValid = False, setting e.Cancel = True stops the CreateUserWizard from proceeding with creating the user. You also would send the error message to a label you defined on your aspx form stating the RECAPTCHA did not match.
If the recaptcha.Validate isValid = True, you can make the recaptcha control invisible on your form along with a message stating the user was created successfully by adding the following code to your CreateUserWizard_CreatedUser event as follows:
recaptcha.Visible = False
That’s all there is to it.