Channels ▼

Web Development

Implementing Audio CAPTCHA

Source Code Accompanies This Article. Download It Now.

Alternate Audio

The solution I've outlined is simple and sonically kind of bare bones. If you have a website that people come to for entertainment, why not try to make any necessary CAPTCHA somewhat entertaining, or at least topical, to your website?

For example, if you have a site that is frequented mostly by musicians, try using musical tones instead of numbers. A musician, with a trained ear, can tell what the intervals are between two or more notes. Substitute the four random numbers with four random notes, within an octave, and ask for the intervals between them. Or play major, minor, and diminished chords asking the musician to name the chord types.

On the other hand, if your site is attracting Stephen Hawking devotees, try asking a math problem, like the cube root of 9. For an astronomy site ask about some astrological distances, like about how many miles there are from the Earth to the moon.

Another alternative, that would fit particularly well with the audio method I've presented, would be to ask for certain letters of the alphabet. For example, you could say, "Enter the first and fifth letters of the alphabet," substituting the words "first" and "fifth," with random positions.

For one more idea, try using some sound files with rhyming words and include one out of the group that doesn't rhyme with the others. Ask the user to enter the word that doesn't rhyme. You can probably think of other variations on a "name the thing that doesn't belong" scenario. Attempting to make your CAPTCHA topical, may remove some of the onerousness of the CAPTCHA process.

That's a Wrap

Some way of divining human users from mechanical interlopers is a necessary evil for many web applications. You should seriously consider using a combination of methods so that the feedback components of your site are accessible to all people surfing the Internet.

With some imagination, you may also be able to make the challenge blend into your site. In any case, it should be simple and straightforward. After all, the CAPTCHA is only the door, not what's on the other side.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.