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" />
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>
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.
May your dreams be in ASP.net!