I have a question about image verification.
Most of the ones I've seen (such as the example at http://theomega.org/security/) basically take a random set of characters, put them into an image, and send a hashed version back to the browser within a hidden field. Then, when the user submits the form, the script takes the user's response, hashes it, and compares that hash with the old hash that was sent to the script as a hidden field (i.e., md5($POST["response"]) == $POST["hidden"]).
My question is this: what's stopping someone from taking any set of characters, hashing it on their own, and sending that character/hash combination to the script? Wouldn't that work and effectively bypass the security measure?