I think that's jolly inventive, even if it's not entirely practical. Of course plain ascii art is a similar tactic.

Interestingly I looked at the complementary problem last year for a rabble of grubby greyhat dotcommers in the next office to me - you guessed it, OCR for noisy .gifs (they actually did perfectly legitimate deeplinking searches ).

I used Image::Magik to read, normalise, greyscale, blur and threshold the image, then take the highest weighted sum of the AND with a test image, read nasty brute force OCR.

Eventully they replaced my code with a far faster C++ implementation that finds minimum distances between FFTs of the images, which quite frankly laughs at Perl (speedwise).

However they still get plenty of problems last time I heard. That is to say, done properly, obfuscated images can be computationally VERY hard to OCR, but it can be done.

Regardless of methodolgy there is a deeper principle at play here, which connects with what Merlyn has to say... eventually you are going to make life so difficult for your end user that any perceptual impairment they have will make reading almost impossible. My (dyslexic) Sister has a damn hard time reading those obfuscated .gifs

My hypothesis then, if you are prepared to throw enough cycles at the problem, with a good enough algorithm, the machine will always be able to filter the info from a noisy image _better_ than a human can. Hence the general method is flawed if its sole objective is to defeat bots.

A better method is to rely on questions from current events news. Make it multiple choice, and make it so that 3 wrong answers out of 5 blocks the IP for an hour.

Even something like

Which dictator has no moustache?
1 Adolf Hitler
2) Augustus Pinochet
3) Saddam Hussain
4) Josef Stalin
5) George W Bush
6) George Palpadopoulos
7) Francois "Papa Doc" Duvalier


would fool pretty much any AI :) Andy

In reply to Re: Another way to get around automated bots by andyf
in thread Another way to get around automated bots by AssFace

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.