CCaptchaAction
CCaptchaAction renders a CAPTCHA image.
CCaptchaAction is used together with
CCaptcha and
CCaptchaValidator
to provide the
CAPTCHA feature.
You must configure properties of CCaptchaAction to customize the appearance of
the generated image.
Note, CCaptchaAction requires PHP GD2 extension.
Using CAPTCHA involves the following steps:
- Override CController::actions() and register an action of class CCaptchaAction with ID 'captcha'.
- In the form model, declare an attribute to store user-entered verification code, and declare the attribute
to be validated by the 'captcha' validator.
- In the controller view, insert a CCaptcha widget in the form.
Public Properties
Hide inherited properties
| Property | Type | Description | Defined By |
| backColor |
integer |
the background color. |
CCaptchaAction |
| controller |
CController |
the controller who owns this action. |
CAction |
| fontFile |
string |
the TrueType font file. |
CCaptchaAction |
| foreColor |
integer |
the font color. |
CCaptchaAction |
| height |
integer |
the height of the generated CAPTCHA image. |
CCaptchaAction |
| id |
string |
id of this action |
CAction |
| maxLength |
integer |
the maximum length for randomly generated word. |
CCaptchaAction |
| minLength |
integer |
the minimum length for randomly generated word. |
CCaptchaAction |
| padding |
integer |
padding around the text. |
CCaptchaAction |
| testLimit |
integer |
how many times should the same CAPTCHA be displayed. |
CCaptchaAction |
| transparent |
boolean |
whether to use transparent background. |
CCaptchaAction |
| verifyCode |
string |
Gets the verification code. |
CCaptchaAction |
| width |
integer |
the width of the generated CAPTCHA image. |
CCaptchaAction |
Protected Properties
Hide inherited properties
| Property | Type | Description | Defined By |
| sessionKey |
string |
Returns the session variable name used to store verification code. |
CCaptchaAction |
Property Details
public integer $backColor;
the background color. For example, 0x55FF00.
Defaults to 0xFFFFFF, meaning white color.
public string $fontFile;
the TrueType font file. Defaults to Duality.ttf which is provided
with the Yii release.
public integer $foreColor;
the font color. For example, 0x55FF00. Defaults to 0x2040A0 (blue color).
public integer $height;
the height of the generated CAPTCHA image. Defaults to 50.
public integer $maxLength;
the maximum length for randomly generated word. Defaults to 7.
public integer $minLength;
the minimum length for randomly generated word. Defaults to 6.
public integer $padding;
padding around the text. Defaults to 2.
Returns the session variable name used to store verification code.
public integer $testLimit;
how many times should the same CAPTCHA be displayed. Defaults to 3.
public boolean $transparent;
whether to use transparent background. Defaults to false.
Gets the verification code.
public integer $width;
the width of the generated CAPTCHA image. Defaults to 120.
Method Details
|
protected string generateVerifyCode()
|
| {return} |
string |
the generated verification code |
Generates a new verification code.
|
protected string getSessionKey()
|
| {return} |
string |
the session variable name |
Returns the session variable name used to store verification code.
|
public string getVerifyCode(string $regenerate=false)
|
| $regenerate |
string |
whether the verification code should be regenerated. |
| {return} |
string |
the verification code. |
Gets the verification code.
|
protected string renderImage(string $code)
|
| $code |
string |
the verification code |
| {return} |
string |
image content |
Renders the CAPTCHA image based on the code.
Runs the action.
If the GET parameter wsdlVar exists, the action will serve WSDL content;
If not, the action will handle the remote method invocation.
|
public whether validate(string $input, boolean $caseSensitive)
|
| $input |
string |
user input |
| $caseSensitive |
boolean |
whether the comparison should be case-sensitive |
| {return} |
whether |
the input is valid |
Validates the input to see if it matches the generated code.