reCAPTCHA , sitenizi açanın bir insan olup olmadığını kontrol eden bir araçtır. Böylece mesajları , üyelikleri ve programların doldurabileceği benzeri formların sadece insanlar tarafından doldurup , gönderilmesini sağlıyor. Diğer hazır onaylama kodu yaratan kontrollerin çoğu rahatça kırılabiliyor fakat bu sistem sadece sizin sunucunuzda değil reCAPTCHA sitesiyle de bağlantıyı kurarak güvenliği sağlıyor. Sağladıkları bu sistem tamamen ücretsiz ve yüzbinlerce site tarafından kullanılıyor , en büyüğü de Facebook. Facebook’da bu sistemi hem üye kaydı sırasında hem de mesaj gönderimi sırasında soruyor. Varsayılan görüntüsü aşağıdaki gibi , farklı temaları bulunuyor , isterseniz kendi tasarımınızı da yapabiliyorsunuz. ( facebook gibi )
Bu sistemi kullanabilmek için reCAPTCHA 'nın sitesine üye olduktan sonra hangi domain üzerinde kullanıcaksanız kayıt ettirip ona özel bir public bir de private key almanız gerekiyor.

Bir çok programlama dili ile kullanılabileni reCAPTCHA’nın nasıl kullanıldığına dair bilgilere kaynaklar sayfasından ulaşabilirsiniz. ASP.NET ile kullanımını basit bir şekilde aşağıda gösterdim. İlk önce bu sayfadaki DLL’i yükleyip sitemizde referans etmemiz gerekiyor. Bu kontrolü sayfamıza register ettikten sonra <recaptcha:RecaptchaControl kontrolünü ekleyerek önceden aldığımız PublicKey ve PrivateKey’leri de property olarak ekledikten sonra code behind ‘da Page.IsValid ile kullanıcımızın reCAPTCHA kodunu doğru girip girmediğini öğrenebiliriz.
<%@ Register TagPrefix="recaptcha"
Namespace="Recaptcha" Assembly="Recaptcha" %>
<div>
<recaptcha:RecaptchaControl
ID="recaptcha"
runat="server"
PublicKey=" üye olduktan sonra site(leri)niz için aldığınız public key "
PrivateKey=" üye olduktan sonra site(leri)niz için aldığınız private key " />
<asp:Button ID="Button1" runat="server" Text="Tamam" onclick="Button1_Click" />
<br />
<asp:Label ID="Result" runat="server" ></asp:Label>
</div>
public partial class _Default : System.Web.UI.Page
{
protected void Button1_Click(object sender, EventArgs e)
{
if (Page.IsValid)
Result.Text = "Doğru";
else
Result.Text = "Yanlış";
}
}