Spam Catch without Captcha
By Nannette Thacker
Here is an example
of how to set a spam trap without using Captcha. In your web
form, typically a Register or Log In page, simply place a
hidden textarea field. Then on your form action page, check
the value and if it contains any content, you can redirect
them to another page or do anything you like. Since a real
human won't see or have access to this form field, only the
bots will fill in the field.
ASP.net VB Example
<asp:TextBox ID="ReasonCatch" runat="server"
Rows="3" Style="display: none;"
TextMode="MultiLine"></asp:TextBox>
<asp:Button ID="GoButton" runat="server" Text="Go"
TabIndex="5" OnClick="GoButton_Click" />
Retrieve
Protected Sub GoButton_Click(ByVal sender As Object, _
ByVal e As System.EventArgs)
Dim spamtrap As String = ""
spamtrap = Me.ReasonCatch.Text
If Not String.IsNullOrEmpty(spamtrap) Then
Response.Redirect("~/byefool.aspx", False)
Else
' further processing
End If
End Sub
ASP Classic Example
<textarea id="ReasonCatch" name="ReasonCatch" rows="3" cols="4" style="display: none;"></textarea>
Retrieve
spamtrap = Request.Form("reasoncatch")
if cstr(spamtrap) <> "" then
Response.Redirect("/byefool.asp")
end if
In my actual code, I retrieve the IP address, and send an
email to myself with the phrase they sent, along with the IP
address, date and time, etc.
This helps to keep
these spammers from mucking up your database with garbage
records. So far I have caught and stopped a russian website
spammer, a geocities spammer, and some really nasty porn
links.
I found the original suggestion at the
bottom of this page on
A CAPTCHA Solution Built With Classic ASP, CSS And
Javascript
and it works great! I can't tell who the author is from
looking at the site, but thanks!
May your dreams
be in ASP.net!
Nannette Thacker