reCAPTCHA : Free Captcha service for ASP.NET

Its a common requirement that we require a captcha to be integrated on our page. I would like to mention a free captcha service which can be implemented in integrated on websites.

What is reCaptcha?

  1. reCAPTCHA is a free CAPTCHA service that helps to digitize books, newspapers and old time radio shows.
  2. It’s Free! Yep, reCAPTCHA is free.
  3. It’s Easy. reCAPTCHA is a Web service. As such, adopting it is as simple as adding
    a few lines of code on your site.
  4. It’s Accessible. reCAPTCHA has an audio test that allows blind people to freely
    navigate your site.
  5. It’s Secure. Most other CAPTCHA implementations can be easily broken.
  6. It’s Popular. Over 100,000 sites use reCAPTCHA, including household names like Facebook, Ticketmaster, and Craigslist.
  7. Whenever uses input data in reCaptcha control, they actually help digitizing books.

Moreover is very easy to integrate reCaptcha in our websites. Below are the steps
which are required to integrate it into a ASP.NET page.

Steps to Integrate reCaptcha in ASP.NET

  1. Register for a reCaptcha key : As a first step we need to register for recaptcha keys. Navigate to Get reCaptcha URL to signup for the keys. After we register for the keys, we get a public and private keys which we need to use in our asp.net page. By default all keys work on localhost as well.

  2. Download reCaptcha library for ASP.NET: Download the dll file from here. Also add the reference to the dll in the asp.net project.
  3. Add reCaptcha widget on ASP.NET page : Insert the reCAPTCHA control into the form you wish to protect by adding the following code snippets:
    • At the top of the aspx page, insert this:
      <%@ register
                      tagprefix="recaptcha" namespace="Recaptcha" assembly="Recaptcha" %>
    • Then insert the reCAPTCHA control inside of the form tag:
                      <recaptcha:recaptchacontrol id="recaptcha" runat="server" publickey="your_public_key"
                          privatekey="your_private_key" />
                      
  4. Make sure you use ASP.NET validation to validate your form (you should check Page.IsValid on submission).

As an example I created a ASP.NET page whose markup and code behind code looks as given below:

Markup:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="RecaptchaPage.aspx.cs" Inherits="ContosoUniversity.RecaptchaPage" %>
<%@ Register TagPrefix="recaptcha" Namespace="Recaptcha" Assembly="Recaptcha" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
     <asp:Label Visible="true" ID="lblResult" runat="server" />

     <recaptcha:RecaptchaControl
              ID="recaptcha"
              runat="server"
              Theme="red"
              PublicKey="6LcoxcASAAAAAGAQQz_xOTk4-ALrRQri_Cf8AuhL"
              PrivateKey="6LcoxcASAAAAALfZhquqene7_4bTrzmuqHBrkuk0"
              />

          <asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />

    </div>
    </form>
</body>
</html>

Code-behind

    public partial class RecaptchaPage : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            if (Page.IsValid) 
            {
              lblResult.Text = "Captcha sucessfull!";
              lblResult.ForeColor = System.Drawing.Color.Green;
            }
            else
            {
              lblResult.Text = "Incorrect";
              lblResult.ForeColor = System.Drawing.Color.Red;
            }
        }
    }

When I entered correct captcha text and pressed submit button following was the output:

When I entered incorrect captcha text and pressed submit button following was the output:

kick it on DotNetKicks.com

Shout it

Open Source Flash Charts

We frequently require flash charts to present data in an effective way on our websites. for this purpose we can use paid charting controls as provided by ComponentArt or Telerik.

What if we get good effect with an open source control?

Open Flash Chart
Recently came across this open source Flash charting control.I found the UI effect as quite impressive.

It provides all types of commonly used charts like
# Bar Chart
# 3D Bar Chart
# Glass Bar Chart
# Fade Bar Chart
# Sketch Bars
# Area Chart
# Area Chart – 2
# Bars + Lines
# Pie Chart
# Pie Chart Links
# Scatter Chart
# Mixed Scatter
# High Low Close
# Candle

ASP.NET Integeration
The control come with a .NET Helper classes which allows us to integrate the charts easily with our asp.net web sites.
Library and Tutorials can be found here.

Hope this is useful to developers. Please drop a comment if you find the article useful or for any further queries.

kick it on DotNetKicks.com

Shout it

pimp it

Worldkit:Open Source Awesome looking Mapping application

Problem
Are you looking for a good mapping application component to use in your application. It should have good graphics and should be easy to use??

Or

you want to display your data on a World or a local map. Just like Google maps or Live Maps but free of cost??

Solution
The solution to the above problem exists with the name of Worldkit
worldKit is an easy to use and flexible mapping application for the Web. Light weight GIS. It’s a SWF based app, configured by XML, data fed by RSS. Stand-alone use or integration in larger projects.

Some of the Features of Worldkit

  • Ubiquitous use in the Flash Player and with RSS feeds.
  • Highly configurable look and feel. Can use images for marking annotations.
  • Integrates with weblogging tools, and any software producing RSS.
  • Displays photos within the map.
  • Zoom & Pan. Integrates with Zoomify for high resolution images, and WMS Sources.
  • Lines and Polygons. Time Navigation.
  • Accepts input for Collaborative Cartography & GeoWiki.
  • Annotations are categorizable. Javascript interface for GIS layer functionality.
  • GPS track routes.

Basically its a flash application which can take data from RSS feeds directly or from an XML file as specified by us.
It also shows the night and day lights on the same image.

It has got a specified configuration format.

Snapshot
worldkitsample

Examples
The tool has already been used at many sites around the web and the complete list can be found on Examples page.

kick it on DotNetKicks.com

Shout it

pimp it