Class TCaptchaValidator

Description

TCaptchaValidator class

Notice: while this class is easy to use and implement, it does not provide full security. In fact, it's easy to bypass the checks reusing old, already-validated tokens (reply attack). A better alternative is provided by TReCaptchaValidator.

TCaptchaValidator validates user input against a CAPTCHA represented by a TCaptcha control. The input control fails validation if its value is not the same as the token displayed in CAPTCHA. Note, if the user does not enter any thing, it is still considered as failing the validation.

To use TCaptchaValidator, specify the ControlToValidate to be the ID path of the input control (usually a TTextBox control}. Also specify the CaptchaControl to be the ID path of the CAPTCHA control that the user input should be compared with.

  • author: Qiang Xue <qiang.xue@gmail.com>
  • version: $Id: TCaptchaValidator.php 3044 2011-10-02 21:13:53Z ctrlaltca@gmail.com $
  • since: 3.1.1

Located in /Web/UI/WebControls/TCaptchaValidator.php (line 38)

TComponent
   |
   --TApplicationComponent
      |
      --TControl
         |
         --TWebControl
            |
            --TLabel
               |
               --TBaseValidator
                  |
                  --TCaptchaValidator
Method Summary
boolean evaluateIsValid ()
TCaptchaControl findCaptchaControl ()
string getCaptchaControl ()
string getClientClassName ()
void setCaptchaControl (string $value)
Variables

Inherited Variables

Inherited from TWebControl

TWebControl::$_decorator
Methods
evaluateIsValid (line 76)

This method overrides the parent's implementation.

The validation succeeds if the input control has the same value as the one displayed in the corresponding CAPTCHA control.

  • return: whether the validation succeeds
  • access: protected
boolean evaluateIsValid ()

Redefinition of:
TBaseValidator::evaluateIsValid()
This is the major method for validation.
findCaptchaControl (line 87)
  • return: the CAPTCHA control to be validated against
  • throws: TConfigurationException if the CAPTCHA cannot be found according to CaptchaControl
  • access: protected
TCaptchaControl findCaptchaControl ()
getCaptchaControl (line 53)
  • return: the ID path of the CAPTCHA control to validate
  • access: public
string getCaptchaControl ()
getClientClassName (line 45)

Gets the name of the javascript class responsible for performing validation for this control.

This method overrides the parent implementation.

  • return: the javascript class name
  • access: protected
string getClientClassName ()

Redefinition of:
TBaseValidator::getClientClassName()
Gets the name of the javascript class responsible for performing validation for this control.
getClientScriptOptions (line 103)

Returns an array of javascript validator options.

  • return: javascript validator options.
  • access: protected
array getClientScriptOptions ()

Redefinition of:
TBaseValidator::getClientScriptOptions()
Returns an array of javascript validator options.
setCaptchaControl (line 64)

Sets the ID path of the CAPTCHA control to validate.

The ID path is the dot-connected IDs of the controls reaching from the validator's naming container to the target control.

  • access: public
void setCaptchaControl (string $value)
  • string $value: the ID path

Inherited Methods

Inherited From TBaseValidator

TBaseValidator::__construct()
TBaseValidator::addAttributesToRender()
TBaseValidator::createClientSide()
TBaseValidator::evaluateIsValid()
TBaseValidator::getClientClassName()
TBaseValidator::getClientScriptOptions()
TBaseValidator::getClientSide()
TBaseValidator::getControlCssClass()
TBaseValidator::getControlToValidate()
TBaseValidator::getDisplay()
TBaseValidator::getEnableClientScript()
TBaseValidator::getErrorMessage()
TBaseValidator::getFocusElementID()
TBaseValidator::getFocusOnError()
TBaseValidator::getIsValid()
TBaseValidator::getValidationGroup()
TBaseValidator::getValidationTarget()
TBaseValidator::getValidationValue()
TBaseValidator::onInit()
TBaseValidator::onPreRender()
TBaseValidator::onUnload()
TBaseValidator::onValidate()
TBaseValidator::onValidationError()
TBaseValidator::onValidationSuccess()
TBaseValidator::registerClientScriptValidator()
TBaseValidator::renderClientControlScript()
TBaseValidator::renderContents()
TBaseValidator::setControlCssClass()
TBaseValidator::setControlToValidate()
TBaseValidator::setDisplay()
TBaseValidator::setEnableClientScript()
TBaseValidator::setEnabled()
TBaseValidator::setErrorMessage()
TBaseValidator::setFocusElementID()
TBaseValidator::setFocusOnError()
TBaseValidator::setForControl()
TBaseValidator::setIsValid()
TBaseValidator::setValidationGroup()
TBaseValidator::updateControlCssClass()
TBaseValidator::validate()

Inherited From TLabel

TLabel::addAttributesToRender()
TLabel::getData()
TLabel::getForControl()
TLabel::getTagName()
TLabel::getText()
TLabel::render()
TLabel::renderContents()
TLabel::setData()
TLabel::setForControl()
TLabel::setText()

Inherited From TWebControl

TWebControl::addAttributesToRender()
TWebControl::clearStyle()
TWebControl::copyBaseAttributes()
TWebControl::createStyle()
TWebControl::getAccessKey()
TWebControl::getBackColor()
TWebControl::getBorderColor()
TWebControl::getBorderStyle()
TWebControl::getBorderWidth()
TWebControl::getCssClass()
TWebControl::getDecorator()
TWebControl::getDisplay()
TWebControl::getEnsureId()
TWebControl::getFont()
TWebControl::getForeColor()
TWebControl::getHasStyle()
TWebControl::getHeight()
TWebControl::getStyle()
TWebControl::getTabIndex()
TWebControl::getTagName()
TWebControl::getToolTip()
TWebControl::getWidth()
TWebControl::onPreRender()
TWebControl::render()
TWebControl::renderBeginTag()
TWebControl::renderContents()
TWebControl::renderEndTag()
TWebControl::setAccessKey()
TWebControl::setBackColor()
TWebControl::setBorderColor()
TWebControl::setBorderStyle()
TWebControl::setBorderWidth()
TWebControl::setCssClass()
TWebControl::setDisplay()
TWebControl::setEnsureId()
TWebControl::setForeColor()
TWebControl::setHeight()
TWebControl::setStyle()
TWebControl::setTabIndex()
TWebControl::setToolTip()
TWebControl::setWidth()

Inherited From TControl

TControl::__construct()
TControl::addedControl()
TControl::addParsedObject()
TControl::addToPostDataLoader()
TControl::applyStyleSheetSkin()
TControl::autoBindProperty()
TControl::autoDataBindProperties()
TControl::bindProperty()
TControl::broadcastEvent()
TControl::bubbleEvent()
TControl::clearChildState()
TControl::clearControlState()
TControl::clearNamingContainer()
TControl::clearViewState()
TControl::convertUniqueIdToClientId()
TControl::createChildControls()
TControl::createControlCollection()
TControl::dataBind()
TControl::dataBindChildren()
TControl::dataBindProperties()
TControl::ensureChildControls()
TControl::findControl()
TControl::findControlsByID()
TControl::findControlsByType()
TControl::focus()
TControl::getAdapter()
TControl::getAllowChildControls()
TControl::getAttribute()
TControl::getAttributes()
TControl::getChildControlsCreated()
TControl::getClientID()
TControl::getControls()
TControl::getControlStage()
TControl::getControlState()
TControl::getCustomData()
TControl::getEnabled()
TControl::getEnableTheming()
TControl::getEnableViewState()
TControl::getHasAdapter()
TControl::getHasAttributes()
TControl::getHasChildInitialized()
TControl::getHasControls()
TControl::getHasInitialized()
TControl::getHasLoaded()
TControl::getHasLoadedPostData()
TControl::getHasPreRendered()
TControl::getID()
TControl::getIsSkinApplied()
TControl::getNamingContainer()
TControl::getPage()
TControl::getParent()
TControl::getRegisteredObject()
TControl::getSkinID()
TControl::getSourceTemplateControl()
TControl::getTemplateControl()
TControl::getUniqueID()
TControl::getViewState()
TControl::getVisible()
TControl::hasAttribute()
TControl::initRecursive()
TControl::isDescendentOf()
TControl::isObjectRegistered()
TControl::loadRecursive()
TControl::loadState()
TControl::loadStateRecursive()
TControl::onDataBinding()
TControl::onInit()
TControl::onLoad()
TControl::onPreRender()
TControl::onUnload()
TControl::preRenderRecursive()
TControl::raiseBubbleEvent()
TControl::registerObject()
TControl::removeAttribute()
TControl::removedControl()
TControl::render()
TControl::renderChildren()
TControl::renderControl()
TControl::saveState()
TControl::saveStateRecursive()
TControl::setAdapter()
TControl::setAttribute()
TControl::setChildControlsCreated()
TControl::setControlStage()
TControl::setControlState()
TControl::setCustomData()
TControl::setEnabled()
TControl::setEnableTheming()
TControl::setEnableViewState()
TControl::setID()
TControl::setPage()
TControl::setSkinID()
TControl::setTemplateControl()
TControl::setViewState()
TControl::setVisible()
TControl::trackViewState()
TControl::traverseChildControls()
TControl::unbindProperty()
TControl::unloadRecursive()
TControl::unregisterObject()
TControl::__get()

Inherited From TApplicationComponent

TApplicationComponent::getApplication()
TApplicationComponent::getRequest()
TApplicationComponent::getResponse()
TApplicationComponent::getService()
TApplicationComponent::getSession()
TApplicationComponent::getUser()
TApplicationComponent::publishAsset()
TApplicationComponent::publishFilePath()

Inherited From TComponent

TComponent::addParsedObject()
TComponent::attachEventHandler()
TComponent::canGetProperty()
TComponent::canSetProperty()
TComponent::createdOnTemplate()
TComponent::detachEventHandler()
TComponent::evaluateExpression()
TComponent::evaluateStatements()
TComponent::getEventHandlers()
TComponent::getSubProperty()
TComponent::hasEvent()
TComponent::hasEventHandler()
TComponent::hasProperty()
TComponent::raiseEvent()
TComponent::setSubProperty()
TComponent::__call()
TComponent::__get()
TComponent::__set()
TComponent::__sleep()
TComponent::__wakeup()
Class Constants

Documentation generated on Mon, 25 Jun 2012 14:37:30 +0200 by phpDocumentor 1.4.3