On Tue, 2007-06-12 at 11:49 -0400, tedd wrote:
> At 2:12 PM +0100 6/12/07, Stut wrote:
> >The submit image is bigger than the circle, and I'm guessing Tedd is
> >checking the coords passed through.
> >
> >-Stut
>
> Yes, that's all the technique does for now. It just checks the submit
> x and submit y and determines if those coordinates lie within the
> circle.
>
> I fixed the empty submit x/y that Tijnema & Rob found, but that was
> my fault for not validating input -- but that doesn't invalidate the
> method.
>
> Please pardon my ignorance, but what I'm trying to understand is --
> how can a bot click and determine the correct x/y coordinates to pass
> the test -- how do they do that?
>
> If it's just find the dot, then I could just as easily throw up other
> images (pig, chicken, diamond, heart) and have the use click the
> correct image (i.e., please click the heart).
>
> And, I could even morph the key image and provide it among others
> asking the user to click the image that comes close to the key image.
>
> Now, how is a bot going to figure that out?
Finding a circle on a white background is easy. Finding a circle on a
random background is fairly easy if it's the only circle. Find an
arbitrary image within an image is a lot harder, but the same is true
for humans unless it can in some way be clearly distinguished. However,
you have another problem. let's say your image is 1000 x 1000 pixels.
And you're random whatever shape sub-image is 100 x 100 pixels. This
means you have 1000000 px^2 universe area, and 10000 px^2 image area. As
such, a random guess at a correct pixel will succeed:
(10000 * 100) / 1000000 = .10 = 10% of the time
:)
So this technique is weak to spamming.
Cheers,
Rob.
--
.------------------------------------------------------------.
| InterJinn Application Framework - http://www.interjinn.com |
:------------------------------------------------------------:
| An application and templating framework for PHP. Boasting |
| a powerful, scalable system for accessing system services |
| such as forms, properties, sessions, and caches. InterJinn |
| also provides an extremely flexible architecture for |
| creating re-usable components quickly and easily. |
`------------------------------------------------------------'
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php