Website forms question
June 25, 2007 5:19 AM   RSS feed for this thread Subscribe

I want to cut down on the chance of getting spam from a form on a website I maintain, so I want to incorporate the kind of thing I have seen on other websites where you have to enter a set of jumbled letters or numbers in order to submit a form or buy a ticket. What is that called? How is it set up and how does it work?

Is it a service you can subscribe to or is it a pretty simple process to do myself?
posted by worker_bee to computers & internet (13 comments total) 2 users marked this as a favorite
It is called a CAPTCHA. Try a Google search on that term.
posted by litlnemo at 5:23 AM on June 25, 2007


Captcha
posted by chillmost at 5:23 AM on June 25, 2007


its called CAPTCHA and there are loads of free captcha scripts on the web, though you may want to look at this and this
posted by missmagenta at 5:24 AM on June 25, 2007


This place never fails!
posted by worker_bee at 5:25 AM on June 25, 2007


http://recaptcha.net/

:D
posted by rhoticity at 5:44 AM on June 25, 2007


Previously
posted by phatkitten at 6:15 AM on June 25, 2007


Also, if you're running the website on CMS/blog software (Moveable Type, Wordpress, Joomla etc) then most of them have some sort of Captcha plugin available (if not dozens).
posted by Happy Dave at 6:49 AM on June 25, 2007


Happy Dave is happily right. Lookout for the Akismet plugin for this!

For non CMS/blog integrated contact forms, try Stephen Ostermiller's contact form. It's very good against spam.
posted by dance at 7:00 AM on June 25, 2007


You should really use ReCaptcha; the text it uses is for digitizing old books and the like.
posted by youarenothere at 7:50 AM on June 25, 2007


One solution, even better than CAPTCHA for the purposes you require, can be done with some CSS trickery and a little PHP.

The idea is this : instead of "proving you're not a computer" like a CAPTCHA does, you're "proving you're a human".

The basic idea is, supposing this is your form setup :

Name : (text input)
E-Mail address : (text input)
Comments : (textarea)

Make another field, called "sub-email" as another text input, so your form would initially look like this :

Name : (text input)
E-mail : (text input)
Verify E-mail : (text input)
Comments : (textarea)

Now, give the "verify e-mail" text input an id of, say, "verifymail", and put this into your CSS file :

input#verifymail { display: none }

And in your PHP script, basically "if verifymail is not blank - kill the script"

A human looking at the form wouldn't see the hidden 2nd text input, and wouldn't be filling that part out - so you can safely process the form.

A computer is looking at a stripped version of your page (without CSS), and therefore WOULD see the 2nd input and WOULD fill it out (because a verifying e-mail secondary input is common).

It's not going to be perfect - but it won't annoy the end-user by making a hard-to-read CAPTCHA.
posted by revmitcz at 3:28 PM on June 25, 2007


err.. I meant to say "clearly showing that you're not human" in that "basic idea" part.
posted by revmitcz at 3:34 PM on June 25, 2007


@revmitcz

I thought that method was well and truly debunked? It will also 'kill the script' for anyone using a text browser, who have CSS turned off or where CSS implementations differ?
posted by dance at 2:15 AM on June 26, 2007


http://www.positionrelative.com/2007/06/06/alternatives-to-captcha/
posted by dance at 2:21 AM on June 26, 2007


« Older Looking for a quick and simple...   |   Which bed mattress would you p... Newer »

You are not logged in, either login or create an account to post comments



Related Questions
Call me fish meal. August 4, 2008
Yes I have the horn but I have standards too February 17, 2008
Pimp my hair! On second though, please don't. July 25, 2007
How can I become a better website designer? April 19, 2007
Daily media? April 2, 2007