PRADO Component Framework for PHP 5
  • Home
  • About
  • Testimonials
  • Demos
  • Download
  • Documentation
  • Forum
  • Development
  • Tutorials
  • Class Docs
  • API Manual
  • Wiki

Packages

  • None
  • System
    • Caching
    • Collections
    • Data
      • ActiveRecord
        • Relations
        • Scaffold
          • InputBuilder
      • Commom
        • Sqlite
      • Common
        • Mssql
        • Mysql
        • Oracle
        • Pgsql
        • Sqlite
      • DataGateway
      • SqlMap
        • Configuration
        • Statements
    • Exceptions
    • I18N
    • IO
    • Security
    • Util
    • Web
      • Javascripts
      • Services
      • UI
        • ActiveControls
        • WebControls
    • Xml
  • Wsat
    • pages
  • Overview
  • Package
  • Class
  • Tree
  • Deprecated
  • Todo

Class TCaptchaValidator

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 setControlToValidate ControlToValidate to be the ID path of the input control (usually a TTextBox control}. Also specify the setCaptchaControl CaptchaControl to be the ID path of the CAPTCHA control that the user input should be compared with.

TComponent
Extended by TApplicationComponent
Extended by TControl implements IRenderable, IBindable
Extended by TWebControl implements IStyleable
Extended by TLabel implements IDataRenderer
Extended by TBaseValidator implements IValidator
Extended by TCaptchaValidator
Package: System\Web\UI\WebControls
Copyright: Copyright © 2005-2014 PradoSoft
License: http://www.pradosoft.com/license/
Author: Qiang Xue <qiang.xue@gmail.com>
Since: 3.1.1
Located at Web/UI/WebControls/TCaptchaValidator.php
Methods summary
protected string
# getClientClassName( )

Gets the name of the javascript class responsible for performing validation for this control. This method overrides the parent implementation.

Gets the name of the javascript class responsible for performing validation for this control. This method overrides the parent implementation.

Returns

string
the javascript class name
public string
# getCaptchaControl( )

Returns

string
the ID path of the CAPTCHA control to validate
public
# setCaptchaControl( string $value )

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.

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.

Parameters

$value
string
the ID path
protected boolean
# evaluateIsValid( )

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.

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.

Returns

boolean
whether the validation succeeds
protected TCaptchaControl
# findCaptchaControl( )

Returns

TCaptchaControl
the CAPTCHA control to be validated against

Throws

TConfigurationException
if the CAPTCHA cannot be found according to setCaptchaControl CaptchaControl
protected array
# getClientScriptOptions( )

Returns an array of javascript validator options.

Returns an array of javascript validator options.

Returns

array
javascript validator options.

Overrides

TBaseValidator::getClientScriptOptions()
Methods inherited from TBaseValidator
__construct(), addAttributesToRender(), createClientSide(), getClientSide(), getControlCssClass(), getControlToValidate(), getDisplay(), getEnableClientScript(), getErrorMessage(), getFocusElementID(), getFocusOnError(), getIsValid(), getValidationGroup(), getValidationTarget(), getValidationValue(), onInit(), onPreRender(), onUnload(), onValidate(), onValidationError(), onValidationSuccess(), registerClientScriptValidator(), renderClientControlScript(), renderContents(), setControlCssClass(), setControlToValidate(), setDisplay(), setEnableClientScript(), setEnabled(), setErrorMessage(), setFocusElementID(), setFocusOnError(), setForControl(), setIsValid(), setValidationGroup(), updateControlCssClass(), validate()
Methods inherited from TLabel
getData(), getForControl(), getTagName(), getText(), render(), setData(), setText()
Methods inherited from TWebControl
clearStyle(), copyBaseAttributes(), createStyle(), getAccessKey(), getBackColor(), getBorderColor(), getBorderStyle(), getBorderWidth(), getCssClass(), getDecorator(), getEnsureId(), getFont(), getForeColor(), getHasStyle(), getHeight(), getStyle(), getTabIndex(), getToolTip(), getWidth(), renderBeginTag(), renderEndTag(), setAccessKey(), setBackColor(), setBorderColor(), setBorderStyle(), setBorderWidth(), setCssClass(), setEnsureId(), setForeColor(), setHeight(), setStyle(), setTabIndex(), setToolTip(), setWidth()
Methods inherited from TControl
__get(), addParsedObject(), addToPostDataLoader(), addedControl(), applyStyleSheetSkin(), autoBindProperty(), autoDataBindProperties(), bindProperty(), broadcastEvent(), bubbleEvent(), clearChildState(), clearControlState(), clearNamingContainer(), clearViewState(), convertUniqueIdToClientId(), createChildControls(), createControlCollection(), dataBind(), dataBindChildren(), dataBindProperties(), ensureChildControls(), findControl(), findControlsByID(), findControlsByType(), focus(), getAdapter(), getAllowChildControls(), getAttribute(), getAttributes(), getChildControlsCreated(), getClientID(), getControlStage(), getControlState(), getControls(), getCustomData(), getEnableTheming(), getEnableViewState(), getEnabled(), getHasAdapter(), getHasAttributes(), getHasChildInitialized(), getHasControls(), getHasInitialized(), getHasLoaded(), getHasLoadedPostData(), getHasPreRendered(), getID(), getIsSkinApplied(), getNamingContainer(), getPage(), getParent(), getRegisteredObject(), getSkinID(), getSourceTemplateControl(), getTemplateControl(), getUniqueID(), getViewState(), getVisible(), hasAttribute(), initRecursive(), isDescendentOf(), isObjectRegistered(), loadRecursive(), loadState(), loadStateRecursive(), onDataBinding(), onLoad(), preRenderRecursive(), raiseBubbleEvent(), registerObject(), removeAttribute(), removedControl(), renderChildren(), renderControl(), saveState(), saveStateRecursive(), setAdapter(), setAttribute(), setChildControlsCreated(), setControlStage(), setControlState(), setCustomData(), setEnableTheming(), setEnableViewState(), setID(), setPage(), setSkinID(), setTemplateControl(), setViewState(), setVisible(), trackViewState(), traverseChildControls(), unbindProperty(), unloadRecursive(), unregisterObject()
Methods inherited from TApplicationComponent
getApplication(), getRequest(), getResponse(), getService(), getSession(), getUser(), publishAsset(), publishFilePath()
Methods inherited from TComponent
__call(), __destruct(), __isset(), __set(), __sleep(), __unset(), __wakeup(), asa(), attachBehavior(), attachBehaviors(), attachClassBehavior(), attachEventHandler(), canGetProperty(), canSetProperty(), clearBehaviors(), createdOnTemplate(), detachBehavior(), detachBehaviors(), detachClassBehavior(), detachEventHandler(), disableBehavior(), disableBehaviors(), enableBehavior(), enableBehaviors(), evaluateExpression(), evaluateStatements(), fxAttachClassBehavior(), fxDetachClassBehavior(), getAutoGlobalListen(), getBehaviorsEnabled(), getClassHierarchy(), getEventHandlers(), getListeningToGlobalEvents(), getSubProperty(), hasEvent(), hasEventHandler(), hasProperty(), isa(), listen(), raiseEvent(), setSubProperty(), unlisten()
Constants inherited from TControl
AUTOMATIC_ID_PREFIX, CLIENT_ID_SEPARATOR, CS_CHILD_INITIALIZED, CS_CONSTRUCTED, CS_INITIALIZED, CS_LOADED, CS_PRERENDERED, CS_STATE_LOADED, ID_FORMAT, ID_SEPARATOR, IS_CHILD_CREATED, IS_CREATING_CHILD, IS_DISABLE_THEMING, IS_DISABLE_VIEWSTATE, IS_ID_SET, IS_SKIN_APPLIED, IS_STYLESHEET_APPLIED, RF_ADAPTER, RF_AUTO_BINDINGS, RF_CHILD_STATE, RF_CONTROLS, RF_CONTROLSTATE, RF_DATA_BINDINGS, RF_EVENTS, RF_NAMED_CONTROLS, RF_NAMED_CONTROLS_ID, RF_NAMED_OBJECTS, RF_SKIN_ID
Constants inherited from TComponent
GLOBAL_RAISE_EVENT_LISTENER
Properties inherited from TWebControl
$_decorator
Terms of Service | Contact Us
PRADO v3.2.4 API Manual API documentation generated by ApiGen 2.8.0
Copyright © 2006-2014 by the PRADO Group.
Powered by PRADO