View Source

<ac:macro ac:name="note"><ac:parameter ac:name="title">Under Construction</ac:parameter><ac:rich-text-body>
<p>This proposal is under construction and is not ready for review.</p></ac:rich-text-body></ac:macro>

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[{zone-template-instance:ZFDEV:Zend Proposal Zone Template}

{zone-data:component-name}
Zend_Captcha
{zone-data}

{zone-data:proposer-list}
[Steven Brown|mailto:steven@newbeachmedia.com]
{zone-data}

{zone-data:revision}
0.1 - 8 January 2008: Created.
{zone-data}

{zone-data:overview}
Zend_Captcha is designed to allow developers to quickly and easily implement captchas. While there should be several options so that developers can customise their captchas there should be a good default standard that is improved as advancements are made.

Audio captchas should be an option down the track.
{zone-data}

{zone-data:references}
* [Captcha Wikipedia Entry|http://en.wikipedia.org/wiki/Captcha]
{zone-data}

{zone-data:requirements}
* This component *will* provide a means for developers to implement captcha.
* This component *will* default to the most "secure" captcha preferences.
* This component *will* allow developers to customise the captcha.
{zone-data}

{zone-data:dependencies}
* Zend_Exception
{zone-data}

{zone-data:operation}
The captcha image can be created as an object and output to the browser from an action. The captcha answer will be stored in a session namespace (or maybe custom storage options are allowed with a reference ID). Entered data can be compared against the captcha answer.
{zone-data}

{zone-data:milestones}
* Milestone 1: Definition.
* Milestone 2: Working prototype.
* Milestone 3: Unit tests exist, work, and are checked into SVN.
* Milestone 4: Initial documentation exists.
{zone-data}

{zone-data:class-list}
* Zend_Captcha_Exception
* Zend_Captcha (factory class)
{zone-data}

{zone-data:use-cases}
{zone-data}

{zone-data:skeletons}
Zend_Captcha
{code}
class Zend_Captcha
{
/**
* Chars used to generate the captcha answer
*/
var $_answerChars;

/**
* Length of captcha answer
*/
var $_answerLength;

/**
* The captcha answer
*/
var $_answer;

/**
* Fonts, colours, distortion, displacement, rotation, size, spacing, lines
*/
}
{code}
{zone-data}

{zone-template-instance}]]></ac:plain-text-body></ac:macro>