This demo illustrates the primary features of the Captcha extension for ASP.NET MVC.
The Captcha is a CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) extension used to verify that submitted data come from a human and not a robot or script. The Captcha can be, for instance, used to effectively prevent comment spam on blogs, automated voting in online polls, automatic creation of user accounts.
The main functional elements of the Captcha extension are the Challenge Image, the Refresh Button and the Text Box. Captcha offers a flexible way to customize its appearance and layout by setting up these individual elements.
The Challenge Image is an automatically generated image representation of a random text. It presents a challenge to an end-user, which can be easily solvable by a human, but difficult for a computer. The Challenge Image's settings can be customized using the ChallengeImage property. To define a set of characters from which a random text should be generated, use the CharacterSet property. You can control the number of characters to be displayed within the Challenge Image by using the CodeLength property.
Captcha's Refresh Button allows an end-user to change a challenge code displayed by the Challenge Image. This might be helpful if the currently displayed code is not quite clear to the user and cannot be easily recognized. To control the Refresh Button's content and appearance, use the RefreshButton and Styles.RefreshButton properties. If the callback route values are defined, a click on the Refresh Button sends a callback to generate and display another challenge code. To specify settings of a loading panel displayed during callbacks, use the LoadingPanel, LoadingPanelImage and LoadingPanelStyle properties.
The Text Box element of Captcha allows end-users to input text recognized from the Challenge Image. Entering the correctly recognized text proves a human interaction, when the submitted form is processed on the server. To customize the content and layout of the Text Box element, use the TextBox property. The element's appearance can be defined using properties available via the Styles.TextBox property. The text box element has a built-in validation mechanism whose behavior can be customized using the settings accessed via the ValidationSettings property.