FormShield - Dynamically Generates CAPTCHA Style Images
After fighting with comments spam I took an hour to implement CAPTCHA on my blog. The implementation based on amazing FormShield control .FormShield control is free for both personal and commercial use.
Download
http://www.dotnetfreak.co.uk/controls/dotNetFreak.WebControls.FormShield.zip
Integrating with the .Text Blogging Engine
Quick guide on integrating FormShield with .Text to prevent spam on your blog by Davide Mauri.
http://www.dotnetfreak.co.uk/docs/FormShield-dotText.zip
FormShield Control Features:
- Generates BMP, GIF, JPEG, PNG or TIFF images.
- Choose the pixel format and smoothing mode used to render the image.
- Set the height, width and alignment of the image as well as the alternate text displayed.
- Image is built using 3 layers - Background, foreground and noise.
- Provides 6 fill styles, 4 gradient styles, 53 hatch styles and 2 colors for each layer.
- Set the length and case (lower, mixed or upper) of the automatically generated text.
- Choose the type of characters you want to use to generate the text (alpha, numeric, symbols or a combination).
- Choose the fonts you want to use to draw the text as well as the font style (4 combinable styles, 16 in total).
- Pick a text effect (5 combinable effects, 23 in total) and decrease the noise level to decrease readability.
- Draw a border on the image using one of 5 styles and your choice of color.
- Randomise the fill style, gradient style, hatch style, font style, text case, text style, text effect and border style.
- 6 Presets included; Default, Fire, Forest, Sand, Sea, ChessBoard.
- Supports 3 persistent methods; ViewState, SessionState or FormField (hidden input field) - ideal if ViewState and/or SessionState isn’t available to persist property values on postback.
- Values stored using any of the persistent methods are automatically encrypted for additional security.
- Image is rendered on demand (either inline or using an Image Provider), and not saved as a file.
- Encrypts the querystring to prevent deciphering by reading the HTML source.
- Works with existing ASP.NET validation controls as well as StringCompareValidator.
- Can be used on standalone WebForms as well as UserControls.
- Supports .Text Blogging Engine (no compile needed) to prevent spam on blogs.
- Full Visual Studio .NET designer integration, including optional rendering whilst in design mode.

11. July 2005 at 03:05
Hi can you please tell me how you validate this control? How do u test what you entered in the control matches the input text?
11. July 2005 at 19:58
More information about integrating FormShield with .Text to prevent spam on your blog can be found on Davide Mauri blog.
http://www.davidemauri.it/Formshield%20Integration.zip