PHP Class Prado\Web\UI\WebControls\TCaptchaValidator

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 {@link TReCaptchaValidator}. TCaptchaValidator validates user input against a CAPTCHA represented by a {@link 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 {@link setControlToValidate ControlToValidate} to be the ID path of the input control (usually a {@link TTextBox} control}. Also specify the {@link setCaptchaControl CaptchaControl} to be the ID path of the CAPTCHA control that the user input should be compared with.
Since: 3.1.1
Author: Qiang Xue ([email protected])
Inheritance: extends TBaseValidator
Mostra file Open project: pradosoft/prado

Public Methods

Method Description
getCaptchaControl ( ) : string
setCaptchaControl ( $value ) Sets the ID path of the CAPTCHA control to validate.

Protected Methods

Method Description
evaluateIsValid ( ) : boolean This method overrides the parent's implementation.
findCaptchaControl ( ) : TCaptchaControl
getClientClassName ( ) : string Gets the name of the javascript class responsible for performing validation for this control.
getClientScriptOptions ( ) : array Returns an array of javascript validator options.

Private Methods

Method Description
generateTokenHash ( $token )

Method Details

evaluateIsValid() protected method

The validation succeeds if the input control has the same value as the one displayed in the corresponding CAPTCHA control.
protected evaluateIsValid ( ) : boolean
return boolean whether the validation succeeds

findCaptchaControl() protected method

protected findCaptchaControl ( ) : TCaptchaControl
return TCaptchaControl the CAPTCHA control to be validated against

getCaptchaControl() public method

public getCaptchaControl ( ) : string
return string the ID path of the CAPTCHA control to validate

getClientClassName() protected method

This method overrides the parent implementation.
protected getClientClassName ( ) : string
return string the javascript class name

getClientScriptOptions() protected method

Returns an array of javascript validator options.
protected getClientScriptOptions ( ) : array
return array javascript validator options.

setCaptchaControl() public method

The ID path is the dot-connected IDs of the controls reaching from the validator's naming container to the target control.
public setCaptchaControl ( $value )