Andrew’s thread about some Common LISP code to generate a Sierpinsky Triangle has lead me (of course) to post a link to a PHP script that “produced” another type of fractal (although I cheated a bit), and it struck me that this particular type of script may well have application with yet another project I’m working on.
You see, I have a very hard time reading a LOT of these ‘so-called’ CAPTCHA images that are available (on the off chance that someone reading this doesn’t know what CAPTCHA stands for, it’s “Completely Automated Public Turing test to tell Computers and Humans Apart”). Even early attempts on my part were difficult to read, so I tried a “new concept” for creating a CAPTCHA image that I can easily read, but is still difficult for a bot or a script to decipher. The result can be seen here. (refresh the page a few times. I think you’ll agree that it’s at least different)
Now this is all well and good, but what if I were to combine something like that with my “ascii art” script, and end up with something that isn’t an image at all, but a series of colored DIV’s in a specific pattern, that created the appearance of an image, without actually having one?
Right off the bat, I can see one somewhat large problem, in that my “ascii art” script generates a huge amount of HTML code for even the smallest of “images” - far more memory is used than actually displaying the image itself would be, but I think I may have at least a partial solution to that, and depending on the contents of the ‘image’, may be at least marginally usable. Granted, there will still be a lot of generated HTML code, but whatever script is trying to “read” an image it can’t find, it would be impossible (at first, till the “trick” is learned) for a bot or a script to be able to handle bypassing it to get to whatever the CAPTCHA is protecting.
Another issue with this type of approach is that the visually impaired would have no chance at solving the CAPTCHA either, and this is something that concerns me a bit. There’s an easy way around this issue, but the (insert favorite descriptive and insulting epithet here) individuals who write the scripts that attack CAPTCHA protection have already figured it out, so there may be no sense in adding an overlay div with a title attribute set to something like “type ‘visually impaired’ in the box below”, that can be ‘seen’ by screen readers. Of course, there’s also the possibility that seeing “visually impaired” in the CAPTCHA decoding script can launch an alternative action, rather then the default success procedure, so it may still be a valid means of alternative access without opening the door to spammers, or those who would do harm to your website.
Anyway, I’m wondering if anyone else has had similar challenges, and if so, how did you address them? Also, if you have feedback of any kind, please feel free to express it. Thanks.