Authen-PluggableCaptcha
view release on metacpan or search on metacpan
lib/Authen/PluggableCaptcha/Tutorial.pm view on Meta::CPAN
=head3 Does it really need to know the site secret and seed for an existing CAPTCHA? Intuitively, I would think that it is only needed for a new CAPTCHA, and that only the public keys should be needed for an existing CAPTCHA?
That depends on how the KeyManager class you specify uses the site_secret to validate the key (which is why site_secret is not required in the base class , it can be an empty string ).
A DB backed key does not need the sitesecret for validation. A logic backed key needs all the construction args to validate.
For example:
key= md5( $site_secret , $time , $page_name , $session_id ) + ':' + $session
key= 'xxxxxxxxxxxxxxxxxx:10000001'
If we know the site_secret under that formula, we always have every components of the item at our disposal -- and can validate the key for integrity
The default KeyManager class uses a site_secret to create the key.
=head3 Also, from the example in the Tutorial, it isn't quite clear if you first have to generate a new CAPTCHA, just to get its key, and then use that key to construct an existing CAPTCHA to create the JPEG. This isn't the case, is it? I could call ...
Yes. it renders directly on this example 'Generate a Captcha' above.
I think there is some confusion in this tutorial because i do 2 things that are a little odd:
a- i run through the captcha generator to pull a new valid key, this way i can use a new example and have a key validate
( run in 0.240 second using v1.01-cache-2.11-cpan-3cd7ad12f66 )