GAPTCHA - It's Live! Please tell me what you think!
Update: The source is now live!
Well, I was up until 1am this morning getting it polished enough, and then I had to wait until morning for some tech support on some SQL that I wrote (damnit, I used SQL2005 syntax for one proc when I should have remembered that CrankyGoblin runs on SQL2000 - thanks Noonie!), but it's live.
The test now is to see two things: People can still leave comments; and my comment spam stops. Hopefully it works.
There's still two problems with the code as it stands right now, as far as comment leavers are concerned.
- If you get the GAPTCHA validation wrong, it will tell you that it's wrong. But unfortunately, it also loses your comment :( I'm working on it, but please remember to copy the text of your comment before submitting in case you get it wrong :) I should have this problem sorted out this week.
- If you're a geek and you view the source of any page that contains the captcha control, it isn't really that hard to figure out how to get past the validation. Instead of using Base64 encoding, I need to actually encrypt the private data. Again, this week some time I'll get it sorted out.
As for blog owners, the only real flaws left are the admin side of things. In the control panel for the blog you can enable and disable Gaptcha, and add/remove Gaptcha images.


But you can't edit the text - currently you have to delete it and add it again :) Also, there's a slight bug in that when you upload the image, it saves it to the right place but then records the URL wrong in the db, so you end up with broken images until you go and fix it in query analyzer. Sounds like a job for tonight :)
Please provide me with any feedback - if it's not easy to use, if the pictures suck, whatever. There's not much point going much further if everyone hates it now that they can use it :) Feel free to leave comments on this post to test it out. If it's obviously a test comment, I don't mind deleting it :)
Oh, and for those that are interested (hopefully someone is :) I'll be making the code for this available to anyone who wants it. I'd just release the binaries to make it easy for people, but it requires adding DB stuff, adding methods to the datalayer, modifying skins, modifying the controlpanel....it's going to have to be a series of patches I'm afraid. But once I've resolved the issues above, I'll write a post describing it all and supplying a zip file with all the necessary bits.